【问题标题】:OSX ble and xcode clarificationsOSX ble 和 xcode 说明
【发布时间】:2015-03-30 20:01:22
【问题描述】:

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

1) 在 Interface Builder 中,一些控件按标题列出,而另一些则按控件类型列出。例如,在下面的屏幕截图中,“SpO2_bind”和“anothertext”文本字段分别按标题和控件类型文本字段列出。为什么会有差异?

2) 为什么有些控件绑定到属性而有些绑定到 ivar?例如左上方的Text Field(在主窗口Heart Rate Monitor中)绑定到“self.heartRate”(self):

而右下角的文本字段绑定到“已连接”(无自我):

3) 在centralManager:didDiscoverPeripheral:advertisementData:RSSI中,NSMutableArray *peripherals的作用是什么,为什么不能直接使用NSMutableArray *heartRateMonitors?

【问题讨论】:

    标签: objective-c macos nsmutablearray bluetooth-lowenergy


    【解决方案1】:

    1) 没有区别。在 Interface Builder 中,如果您为从对象库拖动到视图中的控件指定名称,它们将在 Dock 中显示为它们的名称,否则它们将显示为它们的默认名称,即 UITextField 等控件的名称。您为“身份”选项卡中的控件命名。提供名称使您在 UI 中的搜索更容易,因为它可以帮助您通过易于区分的名称来识别控件,例如 UserNameTextFiled,这给您一种印象,即此 UITextField 是供用户输入他/她的用户名的。

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

    第一种情况是 self.heartRate,因为它同时被定义为 @property 和 ivar,而 wind 情况只是连接,因为我认为它与 @property 一样被保护。

    3) 当你有一对多关系时,你应该使用 - mutablArrayForKey 它返回一个代理对象。它被称为键值编码。

    • mutableArrayForKey:返回一个可变数组代理,它提供对由 a 指定的有序对多关系的读写访问 给定的密​​钥。

    【讨论】:

    • 1) Identity inspector->Label 是否允许通过 .m 文件中的代码绑定/创建 outlet,还是我们仍然需要在 Interface Builder 中为控件绘制线条?有什么办法可以解决画线的要求吗?
    • 2) 我的印象是自动创建的 ivar 在名称前有 _。不管这个例子看起来很旧,并且它们在.h 中定义了具有相同名称的 ivar 和属性。所以我认为他们想在绑定时真正访问该属性。那么绑定到 ivar 不会导致问题,因为 ivar 在更改时不会通知?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-06
    • 1970-01-01
    • 1970-01-01
    • 2023-03-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多