<分区>
<分区>
我正在构建一个应用程序,我想在其中在两个不同的 View Controller 之间共享一个可变的 NSArray。
之所以如此,是因为在其中一个 View Controller (主要)上我需要主动检查数组的内容,如果满足某些属性则显示警报,而另一个 View Controller (UI)是用户的 UI将警报对象设置到所述数组中并在 TableView 中管理警报对象。
所以我的问题是这个数组可能位于我的应用程序委托(delegate)中的什么位置?
或者我最好让它驻留在主视图 Controller ( Root View Controller )中,然后基本上将它传递给第二个 UI View Controller 并每次都在那里动态填充 UItableview,然后将它传回以更新主视图上的数组?
最佳答案
有很多方法可以做到这一点。这取决于您的 View Controller 的层次结构和您的问题。
你可以:
使用 segue/delegate 向前和向后传递这个数组:Passing Data between View Controllers
将数组作为一个 View Controller 的属性,将此 viewController 的弱引用传递给另一个 View Controller ,然后访问类似 viewController1.array 的内容
在每个 viewController 中创建一个属性并将它们与 KVC 同步:http://developer.apple.com/library/ios/#documentation/Cocoa/Conceptual/KeyValueObserving/KeyValueObserving.html#//apple_ref/doc/uid/10000177i
等等
关于iphone - 在两个 ViewController 之间共享 NSArray 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18045756/
相关文章:
iphone - UIVIew Controller 中何时调用 ViewDidUnload 和 Dealloc 方法?
ios - UITapGestureRecognizer - 检测双击或三次点击?
ios - 在 UIStackView 上使用 UIImageView 自动布局 - iOS Swift
iphone - iphone中对NSDate的NSString进行排序
ios - 如何停止 View Controller 以获取 tableView 单元格 subview 的触摸?
objective-c - 如何在 iOS 8 Today Extension 上显示键盘?