我是iphone开发的新手,我想创建一个可变阵列,可以从不同的视图控制器访问和填充。 我该怎么做? 如果可以,请给我一个示例代码
答案 0 :(得分:3)
在MVC中,您有视图,控制器和模型。你应该尽量减少。多个视图和控制器可以在控制数据和业务逻辑的同一模型上运行。
在您的情况下,您有一组简单的共享数据 - 一个可变数组。
我建议创建一个包含该可变数组的类并公开方法。一个常见的模式是该类是单身。
所以,多个控制器都可以。
MyModel *model = [MyModel sharedInstance];
然后两个控制器都可以对它进行操作。
这是一篇关于这个主题的好文章: http://cocoawithlove.com/2008/11/singletons-appdelegates-and-top-level.html
希望有所帮助。
答案 1 :(得分:1)
在@interface YourClass
拒绝数组:
@property (nonatomic, retain) NSMutableArray *publicArray;
在@implementation YourClass
中写下这个:
@synthesize publicArray;
如果您将yourClassVariable
引用到该对象,则可以使用[yourClassVariable publicArray];
或yourClassVariable.publicArray;
答案 2 :(得分:1)
在大多数情况下,使用全局变量不需要也没有帮助。 如果必须使用它们,最简单的方法是将数组放入AppDelegate。
您可以使用以下命令访问Array(此处为AppDelegate中的命名数组):
YourAppDelegate *appDelegate = (YourAppDelegate *)[[UIApplication sharedApplication] delegate];
NSArray *aArray= [appDelegate array];