我正在尝试创建一个应该用作数组的结构。
然后同时我需要从不同的视图访问它,所以我猜我现在需要让它全球化,直到我学会更好的方式(尝试了谷歌搜索的许多建议)
但是我如何声明变量两次?
我的意思是作为我的结构和数组?
答案 0 :(得分:0)
有时候“全局变量”可能是合适的,但不仅仅是“全局变量”。目标C中的正确方法是单身。
以下是.h实施的一部分:
@interface MySingleton : NSObject
@property (nonatomic, strong) NSMutableArray *myArray;
+ (MySingleton *)sharedSingleton
@end
这就是.m实现的样子:
@implementation MySingletion
@synthesize myArray;
static MySingleton *shared = nil;
- (id)init
{
self = [super init];
if(self)
{
myArray = [[NSMutableArray alloc] init];
}
return self;
}
+ (MySingleton *)sharedSingleton
{
if(shared == nil)
{
shared = [[MySingleton alloc] init];
}
return shared;
}
然后,只要你想从给定的类访问它,你就会#import“MySingleton.h”并像这样访问你的数组:
[MySingleton sharedSingleton].myArray
编辑:但是,这并不意味着每次需要传递数据时都应该使用单例来完成。单身人士在某些情况下是正确的,但正如其他人所提到的,你应该在大多数情况下自己将数据传递给下一堂课。
答案 1 :(得分:0)
我刚刚创建了一个新的h和m fil,其中我放了很多varibales
在.h文件中使用extend 并在.m文件中分配init
然后我只需要在需要变量的地方包含这个文件。可能有更好的方法,但这是我唯一能想到的方法。