最近在做一个蓝牙项目时,碰到一个问题,就是蓝牙断开后再扫描就不去连接之前连接过的蓝牙了,东西是很简单,但是蓝牙库没有提供相关的属性,只有我们自己搞了,代码很简单,就是给CBPeripheral的category添加属性:
- (void)setHasConnect:(BOOL)hasConnect {
objc_setAssociatedObject(self, @selector(setHasConnect:), @(hasConnect), OBJC_ASSOCIATION_ASSIGN);
}
- (BOOL)hasConnect {
return [objc_getAssociatedObject(self, @selector(setHasConnect:)) boolValue];
}
我这里添加了一个BOOL类型的属性,重写了setter和getter方法,网上关于runtime的学习资料很多,假如有这样的需求的话,只需把方法中对应属性的修饰写对了就可以了