Objective c Xcode中的结构(struct)为数组,全局
我正在尝试创建一个结构,它应该用作数组 然后,同时我需要从不同的角度访问它,所以我想我现在需要使它全球化,直到我学会一种更好的方法(已经尝试了许多来自谷歌搜索的建议) 但是如何声明一个变量两次呢 我的意思是既作为我的结构,又作为一个数组?有时“全局变量”可能是合适的,但不仅仅是作为“全局变量”。在目标C中,正确的方法是使用单例 下面是.h实现的一部分:Objective c Xcode中的结构(struct)为数组,全局,objective-c,xcode,Objective C,Xcode,我正在尝试创建一个结构,它应该用作数组 然后,同时我需要从不同的角度访问它,所以我想我现在需要使它全球化,直到我学会一种更好的方法(已经尝试了许多来自谷歌搜索的建议) 但是如何声明一个变量两次呢 我的意思是既作为我的结构,又作为一个数组?有时“全局变量”可能是合适的,但不仅仅是作为“全局变量”。在目标C中,正确的方法是使用单例 下面是.h实现的一部分: @interface MySingleton : NSObject @property (nonatomic, strong) NSMutab
@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结构。。。对于一个阵列来说,这可能是杀伤力过大。但这要视情况而定。你能提供更多关于你想做什么的细节吗?