在iOS中方法调用有两种方法,一种是performSelecter系列方法,也是我们最常见的使用方法。

例如,调用测试类中的方法:

@implementation TestClass
- (NSString *)testWithArg1:(NSString *)arg1 arg2:(NSString *)arg2
{
    NSString *res = [NSString stringWithFormat:@"you called me with %@ and %@", arg1, arg2];
    NSLog(@"%@", res);
    return res;
}
@end

Continue reading

问题出现的过程

点击一个按钮,页面都还没出现的的时候,直接就程序崩溃,并且断在了main.m中,并在控制台出现下面的错误提示内容:

2016-04-08 17:09:17.529 mxyc[262:12134] -[__NSCFNumber rangeOfCharacterFromSet:]: unrecognized selector sent to instance 0xb000000532432803
libc++abi.dylib: terminate_handler unexpectedly threw an exception

Continue reading

iOS8.0之前,相册、图片操作使用的是AssetsLibrary.framework(以下简称AF),之后呢又新增了一个框架Photos.framework(以下简称PF),所以呢AF就随之被废弃掉了,以苹果的惯例呢,虽然是废弃,但是肯定还在维护,对于版本要求8以下的APP来说,还是需要使用AF的;当然对于只要求8以上的APP来说,那就可以直接使用PF啦,这个在以后再说。
AF提供了一系列的方法来进行图片、相册、视频等的读取和写入,其中的操作大多是通过Block来操作的,而且数据的读取也大多是通过KVC来获取的。
注意的是,对于相册的操作是需要用户权限的,当然不需要你去主动请求授权,系统会在你初次操作相册的时候去向用户申请权限。

Continue reading

我的上一份工作的公司是做智能体温计的,硬件设备通过BLE4.0来进行体温数据的传输,在此过程中就需要接触BLE相关的东西,于是我就开始了一段摸索与踩坑的过程,不过,通过apple的官方文档还有Google,我还算是小有收获吧。
现在离开上一家公司有将近大半年的时间了吧,还是决定记录一下,毕竟好记性不如烂笔头嘛,虽然现在不做BLE了,万一以后啥时候需要呢?
BLE4.0(一种近距离低功耗无线数据传输协议),由蓝牙联盟制定(Bluetooth.com)。
在苹果iOS设备中,从iPhone 4s、iOS5.0开始支持。

CentralManager :蓝牙数据通信的中心设备,也可以成为客户端,响应的服务端-CBPeripheralManager在这里(传送门)。

Continue reading