Objective c NSMutable数组赢得';不添加索引:0?

Objective c NSMutable数组赢得';不添加索引:0?,objective-c,xcode,nsmutablearray,Objective C,Xcode,Nsmutablearray,我在网上搜索过,现在不知所措 我有一个文本字段,当用户键入内容并按“返回”时,文本将保存到我的NSMutablearray(userAnswers)中 在我的init方法中,我分配了数组: userAnswers = [[NSMutableArray alloc] initWithObjects:@"Test", nil]; 还尝试: userAnswers = [[NSMutableArray alloc] init]; //当用户按下键盘上的“回车”键时 - (BOOL)textFiel

我在网上搜索过,现在不知所措

我有一个文本字段,当用户键入内容并按“返回”时,文本将保存到我的NSMutablearray(userAnswers)中

在我的init方法中,我分配了数组:

userAnswers = [[NSMutableArray alloc] initWithObjects:@"Test", nil];
还尝试:

userAnswers = [[NSMutableArray alloc] init];
//当用户按下键盘上的“回车”键时

- (BOOL)textFieldShouldReturn:(UITextField *)textField {
[answerText resignFirstResponder];

if (levelSelected == 1) {
    [userAnswers insertObject:answerText.text atIndex:0];
    [userAnswers replaceObjectAtIndex:0 withObject:answerText.text];
    //Have tried both of these!
    NSLog(@"SHOULD INSERT INTO ARRAY");//This prints because level one is selected
  }
    NSLog(@"ARRAY: %@", userAnswers); //Just print null
}
我不知道我做错了什么


谢谢你的帮助

看起来您的数组在插入时没有分配,它甚至打印了这个(如您所评论的)。在放置任何东西之前,应该先分配数组。您的分配必须放在错误的位置,因此在返回阶段,数组为nil,或者在某个点将nil分配给数组引用。数组为nil的原因也可能取决于您如何声明该ivar。这是我在这个代码示例的基础上可以说的。

我认为在调用函数时没有分配数组,因此您可以尝试在viewDidLoad:中分配数组。
如果您使用的是故事板,请在initWithCoder的init中分配数组,而不是在init或viewDidLoad:

中声明.h文件中的数组


你有什么问题,你就说发生了什么?!您的数组似乎未初始化。您确定吗,您的
userAnswers=[[NSMutableArray alloc]initWithObjects:@“Test”,nil]吗?您是如何声明userAnswers变量的?
- (BOOL)textFieldShouldReturn:(UITextField *)textField {
[answerText resignFirstResponder];

if (levelSelected == 1) {
    [userAnswers insertObject:answerText.text atIndex:0];
    [userAnswers replaceObjectAtIndex:0 withObject:answerText.text];
    //Have tried both of these!
    NSLog(@"SHOULD INSERT INTO ARRAY");//This prints because level one is selected
  }
    NSLog(@"ARRAY: %@", userAnswers); //Just print null
}