我有来自https://developer.apple.com/library/mac/samplecode/HeartRateMonitor/Introduction/Intro.html的OSX BLE心率示例,并且有几个问题:
1)在Interface Builder中,标题列出了一些控件,控件类型列出了其他控件。例如,在下面的屏幕截图中,“SpO2_bind”和“anothertext”文本字段分别按标题和控件类型文本字段列出。为什么不同?
2)为什么有些控件绑定到属性,有些控件绑定到ivar?例如,左上角的文本字段(在主窗口心率监视器中)绑定到“self.heartRate”(自我):
而右下方文本字段绑定为“已连接”(无自身):
3)在centralManager:didDiscoverPeripheral:advertisementData:RSSI,NSMutableArray *外围设备的目的是什么?为什么不能直接使用NSMutableArray * heartRateMonitors?
答案 0 :(得分:0)
1)没有区别。在Interface Builder中,如果您将从对象库中拖动的控件提供给视图,则在Dock中显示它们的名称,否则它们将以默认名称显示,这些名称是控件的名称,例如UITextField。您在“标识”选项卡中为控件命名。提供名称使您在UI中的搜索更容易,因为它可以帮助您识别易于区分的名称控件,例如UserNameTextFiled,让您产生这个UITextField供用户输入他/她的用户名的印象。
2)在64位OS X中,通过定义@property,您将获得等效的ivar,因此无需同时定义ivar和@property。
第一种情况是self.heartRate,因为它被定义为@property和ivar,并且风案例只是连接,因为它像@property一样保护,我认为。
3)当你有很多关系时,你应该使用 - mutablArrayForKey,它返回一个代理对象。它被称为键值编码。
- mutableArrayForKey:返回一个可变数组代理,它提供对由a指定的有序多对多关系的读写访问权限。 给予关键。