无法将项目添加到NSMutableArray ivar

-1 cocoa objective-c nsmutablearray

我的目标是在数组中添加一个字符串,我在一个我调用的方法中这样做.

在这个方法中,我在数组中得到一个空值,不知道为什么.我在课程开始时就有这个:

NSMutableArray *listOfEvents;
Run Code Online (Sandbox Code Playgroud)

以及我在每个事件上调用的方法:

-(void)EventList
{
    [listOfEvents addObject:@"ran"];
    NSLog(@"%@", listOfEvents);     
}
Run Code Online (Sandbox Code Playgroud)

我进入(null)了日志.

如果我将数组定义 NSMutableArray *listOfEvents;放在函数体中,@"ran"每次都得到字符串值,因此数组总是只有一个值,而不是有多个字符串命名@"ran".

这有什么问题?似乎我无法理解有关数组的东西,尽管我已多次阅读过这些文档.

tho*_*shw 5

我假设你还没有初始化listOfEvents.

确保你listOfEvents = [[NSMutableArray alloc] init];在课堂上的init方法.还要确保在课程dealloc方法中发布它.

  • 如果您正在为类的每个实例多次运行EventList,那么它将继续将字符串添加到数组中.如果您每次都使用类的新实例运行EventList,那么每次数组显然都是一个新数组. (2认同)