我是一名iOS开发人员,我想了解NSMutableArray。 具体来说,我想将NSString值从一个VC传递给NSMutableArray,属于另一个视图控制器。我还希望NSMutableArray在其视图中填充UITableView。任何想法如何做到这一点? 例如,我有一个用户在第一个视图中触发的操作
- (IBAction)addToFav:(id)sender {
}
我想在第二个视图中将NSString myBookString的值传递给NSMutableArray数组。
任务相当简单,但我不太明白为什么你不能在Apple的参考文档中提到的- (void)insertObject:(id)anObject atIndex:(NSUInteger)index
方法之外将值传递给NSMutableArray。
提前谢谢!
编辑:我的观点是属于UITabBar和UINavigationController的不同VC同时
答案 0 :(得分:3)
您需要两个控制器之间的通信。有几种解决方案。选择以下之一。我推荐代表。
如果您有两个对象A和B,比如两个视图控制器,您希望彼此交谈,您可以选择以下选项:
NSNotificationCenter。
KVO(键值观察)。
直接指针。
代表
块。
答案 1 :(得分:1)
NSMutableArray就是一个标准的可变数组实现。它具有您期望从任何其他语言/框架中获得的所有功能。 docs
向数组添加元素的方式有什么问题?如果您不介意将其添加到尾部,也可以[array addObject:object]
。
要回答您的其余问题,有很多方法可以将数据从一个控制器传输到另一个控制器。你的导航设置如何?您使用的是UITabBarController还是UINavigationController?这些观点如何相互关联?如果它们是嵌套的,则可以直接将数据从一个传递到另一个。如果没有,您可以使用类似您的app delegate之类的东西来保存数据并传递它。