为什么在NSMutableArray中添加字符串不起作用?

时间:2016-06-08 08:17:49

标签: ios nsmutablearray

为什么在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

3 个答案:

答案 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类型的子类,则无法向他添加对象。