Objective c Xcode中的结构(struct)为数组,全局

Objective c Xcode中的结构(struct)为数组,全局,objective-c,xcode,Objective C,Xcode,我正在尝试创建一个结构,它应该用作数组 然后,同时我需要从不同的角度访问它,所以我想我现在需要使它全球化,直到我学会一种更好的方法(已经尝试了许多来自谷歌搜索的建议) 但是如何声明一个变量两次呢 我的意思是既作为我的结构,又作为一个数组?有时“全局变量”可能是合适的,但不仅仅是作为“全局变量”。在目标C中,正确的方法是使用单例 下面是.h实现的一部分: @interface MySingleton : NSObject @property (nonatomic, strong) NSMutab

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

然后,同时我需要从不同的角度访问它,所以我想我现在需要使它全球化,直到我学会一种更好的方法(已经尝试了许多来自谷歌搜索的建议)

但是如何声明一个变量两次呢

我的意思是既作为我的结构,又作为一个数组?

有时“全局变量”可能是合适的,但不仅仅是作为“全局变量”。在目标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;
}
然后,无论何时,只要您想从给定的类访问它,您都会导入“MySingleton.h”并像这样访问您的数组:

[MySingleton sharedSingleton].myArray

编辑:但是,这并不意味着每次需要传递数据时都应该使用单例来完成。单例在某些情况下是正确的,但正如其他人所提到的,在大多数情况下,您应该自己将数据传递给下一个类。

我刚刚创建了一个新的h和m fil,在那里我放置了很多变量

在.h文件中使用extend 和.m文件中的alloc init


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

如果要在其他视图中使用它,请通过参数将其传递给该视图。不要让它成为全局性的同意@MrAzulay,要不惜一切代价避免全局变量。你需要添加更多关于你要做什么的细节。要创建自定义数据容器,请创建自己的类。如果您告诉我们您正在处理的场景需要多个视图才能访问变量,那么应该有人能够帮助您。这可能是一个noob问题,但我如何将变量传递到另一个视图?您是否使用故事板和iOS 5?如果是这样的话,请查看分段。另外,如果你需要一个数组,我会使用一个NSArray,而不是创建一个c结构。。。对于一个阵列来说,这可能是杀伤力过大。但这要视情况而定。你能提供更多关于你想做什么的细节吗?