数组保持返回空

How*_*Gee 1 arrays object objective-c ios

所以我有一系列学生姓名.我正在运行测试数据所以我要经历一个循环分配和初始化每个学生然后把它扔进去stuArr- 如果我NSLog我的Student.hinit()方法它会给我我期望的名字,但当我试图在外面调用它们我的方法我得到空值:

- (void)viewDidLoad
{
    [super viewDidLoad];
    for (int i = 0; i < 5; i++) {
        stuArr = [stuArr arrayByAddingObject:[[Student alloc] init]];
        id test = [stuArr objectAtIndexedSubscript:i];
        NSLog(@"%@", [test stuName]);
    }
}
Run Code Online (Sandbox Code Playgroud)

我错过了一些重要的东西吗?如果需要,我可以扔进我的Student.m文件,但一切似乎都很好.

tik*_*hop 5

我想你应该在这行之前分配+ init stuArr:

stuArr = [stuArr arrayByAddingObject:[[Student alloc] init]]; 
Run Code Online (Sandbox Code Playgroud)

或尝试做这样的事情:

- (void)viewDidLoad
{
    [super viewDidLoad];

    NSMutableArray *mutStudentsArray = [NSMutableArray array];

    for (int i = 0; i < 5; i++)
    {
        [mutStudentsArray addObject:[[Student alloc] init]];
        id test = [mutStudentsArray objectAtIndex:i];
        NSLog(@"%@", [test stuName]);
    }

    stuArr = [NSArray arrayWithArray:mutStudentsArray];
}
Run Code Online (Sandbox Code Playgroud)