我对此做了很多研究,但我对我的问题有一个心理障碍。我正在为 iOS 应用程序开发 Objective-C
这是我的设置:
视图控制器从视图(用户输入)获取文本,并将该文本传递给模型的 MethodA。
模型中的方法适用于输入文本并获取输出(例如,在谷歌中搜索该文本)。它使用dispatch_async方法进行搜索,该方法调用模型内方法的选择器。
MethodB 解析输出并将所有结果放入 NSMutableArray
我的问题在这里:如何将该 NSMutableArray 传递回视图控制器以便我可以在视图上显示它?
抱歉,如果我的问题的答案非常简单/明显。我是 Objective-C 新手
每当我想要进行异步处理并且这些内容需要返回到 UI 中的某个位置时,我都会执行以下两项操作之一:
1. Use NSNotification to tell anyone who cares that the work is complete
2. Use a delegate property on the worker and a @protocol
1 NS通知
模型对象应该在它的 .h 文件中记录当某些事情发生时它会触发通知;例如当模型的一部分已更新时。当 ViewController 初始化模型对象时,将其自身设置为记录通知的观察者,并实现更新 UI 的回调。
2 委托和@protocol
创建一个@protocol,例如@protocol FooModelUpdateDelegate
使用正确命名的方法,例如fooObjectDidUpdate:(Foo *)object;
,然后模型类有一个委托属性为id<FooModelUpdateDelegate> updateDelegate
并且 ViewController 将自己设置为该委托,我相信您可以弄清楚其余的事情。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)