2015-03-30 72 views
0

我从OSX BLE心率例如:https://developer.apple.com/library/mac/samplecode/HeartRateMonitor/Introduction/Intro.html,并在其上具有几个问题:)OSX BLE和Xcode的澄清

1在Interface Builder中,一些控制是由标题和其他由控制型上市。例如,在下面的屏幕截图中,“SpO2_bind”和“其他”文本字段分别由标题和控制类型文本字段列出。为什么区别?

see last two Text Fields

2)为什么绑定到的属性和一些对伊娃一些控制?例如,左上角的文本字段(在主窗口心率监测仪)被绑定到“self.heartRate”(个体经营):

bind to property

而右下方的文本字段被绑定到“连接” (没有自我): bind to ivar

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

回答

0

1)没有区别。在Interface Builder中,如果您将控件从Object Library拖放到视图中,则会在Dock中显示它们的名称,否则它们将显示其默认名称,这些名称是UITextField等控件的名称。您为“标识”选项卡中的控件命名。给名称让你在UI中的搜索更容易,因为它可以帮助你通过他们的名字来识别控件,这很容易区分,例如UserNameTextFiled,给你的印象是这个UITextField是用户输入他/她的用户名。

2)在64位OS X中,通过定义一个@property,你可以得到等价的伊娃,因此不需要同时定义伊娃和@property。

第一种情况是self.heartRate,因为它被定义为@property和ivar,而且风箱只是连接,因为它的防御就像@property,我想。

3)当你有多对多关系时你应该使用 - mutablArrayForKey它返回一个代理对象。这就是所谓的键值编码。

  • mutableArrayForKey:返回提供了一个 给定键指定的有序一对多的关系进行读写访问一个可变的数组代理。
+0

1)是否认同督察>标签允许一个绑定/通过代码.m文件创建出口,还是我们仍然需要画线在Interface Builder的控制?有什么方法可以解决绘图要求吗? – tosa 2015-03-31 17:45:08

+0

2)我的印象是自动创建的伊娃在名字前面有_。无论这个例子看起来如何陈旧,它们都具有iv和属性,其名称与.h中定义的名称相同。所以我认为他们想在绑定时真正访问该属性。所以不会绑定到伊娃导致问题,因为伊娃没有通知什么时候改变? – tosa 2015-03-31 17:46:55