Xcode中的结构(struct)为Array,全局

时间:2012-08-01 12:27:57

标签: objective-c xcode

我正在尝试创建一个应该用作数组的结构。

然后同时我需要从不同的视图访问它,所以我猜我现在需要让它全球化,直到我学会更好的方式(尝试了谷歌搜索的许多建议)

但是我如何声明变量两次?

我的意思是作为我的结构和数组?

2 个答案:

答案 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

然后我只需要在需要变量的地方包含这个文件。可能有更好的方法,但这是我唯一能想到的方法。