NSString不会添加到NSMutableArray

时间:2014-04-19 16:59:25

标签: ios objective-c nsmutablearray

在我的应用中,我使用

[theMutableArray addObject:theString];

多次,每次都有效,但是当尝试添加另一个视图时,它不会添加。

我知道我的字符串不是null,因为我有

NSLog(@"%@, %@", theString, theMutableArray);

然后它返回 "字符串值",(null)

在我的viewDidLoad中我有

theMutableArray = [[NSMutableArray alloc] init];

我尝试添加它的地方

theString = [alertView textFieldAtIndex:0].text;
[theMutableArray addObject:theString];
NSLog(@"%@, %@", theString, theMutableArray);

是否有任何类型的拼写错误?还是我忘记了什么?

3 个答案:

答案 0 :(得分:1)

你说那个

NSLog(@"%@, %@", theString, theMutableArray);

返回"字符串值",(null)。那么你期待什么?你的theMutableArray似乎是零,这就是为什么你不能添加任何内容的原因。

答案 1 :(得分:1)

将此属性设为您的类的属性,以便您可以在其父对象的生命周期内访问它,而不仅仅是在一个方法中。 (我认为你想用多种方法访问它。)

@interface myClass : NSObject
@property (nonatomic) NSMutableArray *theMutableArray;
@end

@implementation myClass

- (void) viewDidLoad {
    self.theMutableArray = [NSMutableArray new];
}

- (IBAction) anActionDidHappen:(id) sender {
    …
    theString = [alertView textFieldAtIndex:0].text;

    [self.theMutableArray addObject:theString];
}

@end

答案 2 :(得分:0)

我添加了这3行并且它有效,我可能在其他地方的数组有问题。

 NSMutableArray *newMutableArray = [[NSMutableArray alloc] init];
[newMutableArray addObject:theString];

theMutableArray = newMutableArray;