如何全局声明一个数组

问题描述:

嗨,我是iphone新手。我正在做的是声明一个名为标签的NSMutable数组,并且在viewdidload.But中声明,当我在buttonclick函数中访问标签时,它显示为null。以前我在.h文件中解析propery,并在init函数中初始化。请帮助我在哪里声明以及如何声明一个可变数组,这个数组可以在类中的任何位置以及如何向它添加对象,对于这些值是动态可变的。 thanku如何全局声明一个数组

+0

尝试读取文档:http://developer.apple.com/mac/library/documentation/Cocoa/Reference/Foundation/Classes/NSMutableArray_Class/Reference/Reference.html# // apple_ref/doc/uid/20000138-DontLinkElementID_1 – jamapag 2010-08-13 13:06:14

如果你想在你的课堂的任何地方都可以访问这个数组,你应该在你的@interface中声明它。你的代码应该是这个样子:

@interface MyViewController : UIViewController { 
    NSMutableArray *labels; 
} 
@end 


@implementation MyViewController 

- (void)viewDidLoad { 
    labels = [[NSMutableArray alloc] init]; 
    [labels addObject:@"Label"]; 
    // etc. 
} 

- (void)dealloc { 
    // Don't forget to do this or your array will leak 
    [labels release]; 
    [super dealloc]; 
} 

- (void)buttonClickHandler { 
    // Do stuff with labels 
} 

@end 

你可以声明它们,就像你会在C.当我需要他们,我有一个包含类似

IFDEF GLOBAL

诠释XYZ一个包含文件variables.h; Struct abc * ptr;

else

External int xyz; 外部struct abc * ptr;

ENDIF

在一个.m文件,做全球

请原谅错别字,iPad正在纠正我的#define。

+0

我不认为他正在尝试创建一个全局变量,但是可以从该类中的任何位置访问它。在任何情况下,对于Objective-C上下文中的全局变量,单数类将比声明全局变量更合适。 – 2010-08-13 05:47:15