在我的应用中,我使用
[theMutableArray addObject:theString];
多次,每次都有效,但是当尝试添加另一个视图时,它不会添加。
我知道我的字符串不是null,因为我有
NSLog(@"%@, %@", theString, theMutableArray);
然后它返回 "字符串值",(null)
在我的viewDidLoad中我有
theMutableArray = [[NSMutableArray alloc] init];
我尝试添加它的地方
theString = [alertView textFieldAtIndex:0].text;
[theMutableArray addObject:theString];
NSLog(@"%@, %@", theString, theMutableArray);
是否有任何类型的拼写错误?还是我忘记了什么?
答案 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;