为什么在nsmuarray中添加字符串不起作用? 首先,我通过keypath将NSDictionary添加到NSMutableArray, 这是工作。 之后,我想再添加一个字符串,但它不起作用。
NSMutableArray *_joinornot;
_joinornot = [[NSMutableArray alloc] init];
NSDictionary *tempobject = [[NSDictionary alloc] init];
_joinornot = [tempobject valueForKeyPath:@"groupid"];
直到现在一切正常。
[_joinornot addObject:@"111"];<----unrecongnized selector sent to instance
答案 0 :(得分:2)
如果null
返回nil,那么你的数组将为nil,然后你就不能调用addObject。所以也许加一个零检查
答案 1 :(得分:0)
尝试以下代码:
在添加对象之前,请检查nil
。
NSMutableArray *_joinornot;
_joinornot = [[NSMutableArray alloc] init];
NSDictionary *tempobject = [[NSDictionary alloc] init];
_joinornot = [tempobject valueForKeyPath:@"groupid"];
if (_joinornot==nil) {
_joinornot = [[NSMutableArray alloc] init];
[_joinornot addObject:@"111"];
}
else{
[_joinornot addObject:@"111"];
}
编辑:
可能是它被转换为NSArray所以它不再可变,尝试使用
_joinornot = [[tempobject valueForKeyPath:@"groupid"] mutableCopy];
答案 2 :(得分:0)
看起来像&#34; _joinornot&#34;它不是NSMutableArray或NSMutable数据类型,试着看看它是什么类型的对象:
NSLog(@"%@", [_joinornot class]);
如果它不是Mutable类型的子类,则无法向他添加对象。