如何存储CBPeripheral以便在其他视图中使用
我在视图控制器SViewController中设置了几个BLE连接,我需要存储外围设备以便在其他视图控制器中使用。 我已经尝试创建一个NSUserDefault对象并在那里存储外围设备,但我收到错误"Attempt to insert non-property value"
,它从未插入。 然后我尝试将其包装在NSData对象中并将其存储在NSUserDefaults中,但得到错误"-[CBConcretePeripheral encodeWithCoder:]: unrecognized selector sent"
并且应用程序崩溃了。 这绝对没有用。 我也尝试将三个CBPeripheral变量全局化,但我遇到了很多问题。 (我对编程还很新)。 然后我以某种方式调查了它们,但是在这里读到它不会工作并且不浪费时间。
有谁知道如何存储CBPeripheral对象,以便我可以访问它并在其他视图控制器中初始化它?
创建一个实现所有CBCentralManagerDelegate
方法的单例。 然后只需为该单例创建自己的委托方法,即可向viewControllers发送消息。 这样你就可以在任何课堂上轻松使用它。 至于存储CBPeripherals,您可以将它们放在单例内部包含的NSMutableArray
中。
查看此链接,了解如何创建单例实例
(哦,你说“在其他视图控制器中初始化它”。那不应该是这种情况。但也许你只想存储CFUUIDRef
?如果你这样做,你可以调用retrievePeripherals:(NSArray*)
并将周边物体带回任何你想要的地方。如果这就是你的意思……)
- 如何在一个圆圈内alignmentUIButtons?
- MonoTouch SecKeyChain.Add返回SecStatusCode.Param
- 以编程方式处理uiwebview中的文本字段
- NSPredicate:取一种
- UIViewControllerHierarchyInconsistency
- 如何获取NSString中的特定字符的所有NSRange?
- 如何在仅限肖像的应用程序中使用MPMovieViewController播放风景video
- /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/llvm-gcc-4.2失败,退出代码1
- 从GMSMapView中删除GMSPolyline