iPhone应用程序崩溃因为 - [NSMutableArray addObjectsFromArray:]:数组参数不是NSArray

时间:2013-01-22 05:59:32

标签: iphone objective-c nsmutablearray

我想从UITableView搜索当我尝试将搜索到的对象从一个数组添加到另一个数组时,我的应用程序会崩溃。这是我的代码,我尝试将对象从一个数组添加到另一个数组。 searchedContactsFromTableNSMutableArray。我在其中获得了200个对象。

    NSMutableArray *searchArray = [[NSMutableArray alloc] init];
for (NSDictionary *dictionary in searchedContactsFromTable)
{
       NSArray *array = [dictionary objectForKey:@"fullName"];
       [searchArray addObjectsFromArray:array];

}

如何添加数组?

4 个答案:

答案 0 :(得分:1)

假设您的searchedContactsFromTable就像:

searchedContactsFromTable :: (
        {
        fullName =         {
            fName = Abc;
            lName = Ghi;
            mName = Def;
        };
    }
)

你想要像这样输出:

searchArray :: (
        (
        Abc,
        Ghi,
        Def
    )
)

您的准则应该是:

    NSMutableArray *searchArray = [[NSMutableArray alloc] init];
    for (NSDictionary *dictionary in searchedContactsFromTable)
    {
        NSDictionary *dict = [dictionary objectForKey:@"fullName"];
        [searchArray addObject:[dict allValues]];
    }

答案 1 :(得分:0)

NSMutableArray *searchArray = [[NSMutableArray alloc] init];
for (NSDictionary *dictionary in searchedContactsFromTable)
{
       NSMutableArray *array = (NSMutableArray *)[[[dictionary objectForKey:@"fullName"] miutableCopy];
       [searchArray addObjectsFromArray:array];

}

答案 2 :(得分:0)

试试这个:

NSMutableArray *array = [[NSMutableArray alloc] init];
NSMutableArray *searchArray = [[NSMutableArray alloc] init];
for (NSDictionary *dictionary in searchedContactsFromTable)
{
       [array addObject:[dictionary objectForKey:@"fullName"]];
       [searchArray addObjectsFromArray:array];

}

答案 3 :(得分:0)

只需改变:

NSMutableArray *searchArray = [[NSMutableArray alloc] init];
for (NSDictionary *dictionary in searchedContactsFromTable)
{
       NSString *array = [dictionary objectForKey:@"fullName"];
       [searchArray addObject:array];

}

由于您在这里获得的数组变量不是数组,但它是一个字符串。