Objective c OSX ble和xcode澄清

Objective c OSX ble和xcode澄清,objective-c,macos,nsmutablearray,bluetooth-lowenergy,Objective C,Macos,Nsmutablearray,Bluetooth Lowenergy,我有来自的OSX BLE心率示例,并有一些问题: 1在界面生成器中,某些控件按标题列出,其他控件按控件类型列出。例如,在下面的屏幕截图中,SpO2_bind和其他文本字段分别按标题和控件类型文本字段列出。为什么不同 2为什么有些控件绑定到属性,有些绑定到ivar?例如,主窗口心率监视器中左上角的文本字段绑定到self.heartRate self: 而右下角的文本字段绑定到“已连接的非自身”: 3在centralManager:DidDiscoveryPeripheral:advertisem

我有来自的OSX BLE心率示例,并有一些问题:

1在界面生成器中,某些控件按标题列出,其他控件按控件类型列出。例如,在下面的屏幕截图中,SpO2_bind和其他文本字段分别按标题和控件类型文本字段列出。为什么不同

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

而右下角的文本字段绑定到“已连接的非自身”:


3在centralManager:DidDiscoveryPeripheral:advertisementData:RSSI中,NSMutableArray*外围设备的用途是什么?为什么不能直接使用NSMutableArray*心率监视器?

1没有区别。在Interface Builder中,如果为从对象库拖动到视图中的控件指定一个名称,则它们将在Dock中以其名称显示,否则它们将以默认名称显示,默认名称是控件的名称,如UITextField。您可以在“标识”选项卡中为控件命名。命名使您在UI中的搜索更容易,因为它可以帮助您通过易于识别的名称来识别控件,例如UsernameTextField,它让您感觉此UITextField是供用户输入其用户名的

2在64位OS X中,通过定义@property可以获得等效的ivar,因此无需同时定义ivar和@property

第一个案例是self.heartRate,因为它被定义为@property和ivar,而wind案例是connect,因为我认为它和@property一样是defect

3当您有多个关系时,您应该使用-mutablarrayworkey,它返回一个代理对象。这叫做键值编码

MutableArrayWorkey:返回一个可变数组代理,该代理提供对由 给钥匙。
1 Identity inspector->Label是否允许用户通过.m文件中的代码绑定/创建outlet,或者我们仍然需要在Interface Builder中为控件绘制线条?有没有办法解决划线要求?2我的印象是,自动创建的ivar在名称前面。无论如何,这个例子看起来很旧,它们都有ivar和属性,并且在.h中定义了相同的名称。因此,我认为他们希望在绑定时真正访问属性。既然ivar在更改时不通知,那么绑定到ivar不会导致问题吗?