0

有人可以就如何从库中更新 IOS 应用程序中的 UI 文本标签给我指导/起点。

我从连接到我的应用程序的库中的 BT 模块接收到温度数据。我想将该整数数据发送到我的应用程序并更新 UI 文本标签。

注意:我可以完全访问图书馆。

任何帮助表示赞赏

4

1 回答 1

0

我认为您要求的是一种从 Cocoa 静态库向应用程序提供反馈的方法。

我建议你看看NSNotificationCenter课堂。例如,假设您有一个类BTThermometer,在接收到新的测量调用时:

 [[NSNotificationCenter defaultCenter] postNotificationName:@"com.my.BTThermometer.NewValue" object:self];

然后,在您的应用程序中,您可以执行以下操作:

[[NSNotificationCenter defaultCenter] addObserverForName:@"com.my.BTThermometer.NewValue" object:self queue:nil usingBlock:^(NSNotification* n) {
    dispatch_async(dispatch_get_main_queue(), ^{
        someLabel.text = ((BTThermometer*)n.object).temperatureValue;
    }
}];

这是 iOS 中的一种标准机制,用于将您的应用程序与库的内部工作分离。唯一的耦合是名称本身,当然使用常量(例如 )通常是一个好主意,#define kMyTemperatureEvent @"com.my.BTThermometer.NewValue这样编译器就会捕捉到任何拼写错误。

于 2013-06-07T08:45:29.890 回答