当我创建一个可变数组时,它说我有一个常规数组

时间:2014-07-04 21:04:36

标签: ios objective-c arrays

最初我的数组“items”是使用NSArray初始化的 - 我意识到当我将数组中的数据传输到webpodnew可变数组时,它是不可变的。所以我回去把我的数组项改为NSMutableArray - 这似乎没有改变任何东西。我尝试使用arrayWithArray创建一个新的可变数组:和[mutableCopy]但它似乎不起作用,或者它将是一个带有键值/对而不是对象的空数组。我想要一个可变数组的原因是因为我需要从所述数组中删除一些空项。

NSDictionary *PageItem = [xml objectForKey:@"channel"];
NSMutableArray *items = [PageItem objectForKey:@"item"];
NSMutableArray *webpodnew = [items valueForKeyPath:@"enclosure._url"];

[webpodnew removeObjectAtIndex:3]; 

请让我知道我在这里缺少什么?

谢谢!

1 个答案:

答案 0 :(得分:0)

[PageItem objectForKey:@"item"];

你有一个错字:

[PageItem objectForKey:@"items"];

如果这不起作用,请NSLog字典查看它实际包含的内容,并告诉我们。

修改

您还有其他一些错误:您无法在阵列上执行valueForKeyPath。试试这个而不是你当前的代码:

NSDictionary *PageItem = [xml objectForKey:@"channel"];
NSDictionary *items = [PageItem objectForKey:@"items"];
NSArray *array = [items valueForKeyPath:@"enclose._url"];
NSMutableArray *webpodnew = [NSMutableArray arrayWithArray:array];

[webpodnew removeObjectAtIndex:3];