OSX ble和xcode澄清

时间:2015-03-30 20:01:23

标签: objective-c macos nsmutablearray bluetooth-lowenergy

我有来自https://developer.apple.com/library/mac/samplecode/HeartRateMonitor/Introduction/Intro.html的OSX BLE心率示例,并且有几个问题:

1)在Interface Builder中,标题列出了一些控件,控件类型列出了其他控件。例如,在下面的屏幕截图中,“SpO2_bind”和“anothertext”文本字段分别按标题和控件类型文本字段列出。为什么不同?

see last two Text Fields

2)为什么有些控件绑定到属性,有些控件绑定到ivar?例如,左上角的文本字段(在主窗口心率监视器中)绑定到“self.heartRate”(自我):

bind to property

而右下方文本字段绑定为“已连接”(无自身): bind to ivar

3)在centralManager:didDiscoverPeripheral:advertisementData:RSSI,NSMutableArray *外围设备的目的是什么?为什么不能直接使用NSMutableArray * heartRateMonitors?

1 个答案:

答案 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指定的有序多对多关系的读写访问权限。   给予关键。
  •