如何使用 nsarray 初始化 nsmutablearray
我正在尝试使用 NSArray
的值初始化 NSMutableArray
,但是当我 NSLog
时,新创建的 NSMutableArray
全部我得到的是 (null
), (null
)... 等
我不知道为什么会发生这种情况,非常令人沮丧。
我在标头和 @synthesize
等中设置了 myMutableArray
。
然后在 parserdidend 委托中这就是我尝试做的事情。
- (void)parserDidEndDocument:(NSXMLParser *)parser
{
if (dataSetToParse == @"ggf"){
//Filter results (ISTOY = T)
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"%K like %@",@"ISTOY",@"T"];
NSArray *filteredArray = [parsedDataArrayOfDictionaries filteredArrayUsingPredicate:predicate];
NSLog(@"%@", filteredArray); //This prints correct details
[myMutableArray setArray:filteredArray];
NSLog(@"%@", myMutableArray); //This prints (null), (null)... etc
//Use myMutableArray later...
}
这几乎概括了一切。
I am trying to initialize an NSMutableArray
with the values of an NSArray
but when I NSLog
the newly created NSMutableArray
all i get is (null
), (null
)... etc
I have no idea why this happening its super frustrating.
I set up myMutableArray
in the header and @synthesize
etc..
then in parserdidend delegate this is what I try to do.
- (void)parserDidEndDocument:(NSXMLParser *)parser
{
if (dataSetToParse == @"ggf"){
//Filter results (ISTOY = T)
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"%K like %@",@"ISTOY",@"T"];
NSArray *filteredArray = [parsedDataArrayOfDictionaries filteredArrayUsingPredicate:predicate];
NSLog(@"%@", filteredArray); //This prints correct details
[myMutableArray setArray:filteredArray];
NSLog(@"%@", myMutableArray); //This prints (null), (null)... etc
//Use myMutableArray later...
}
That pretty much sums it up.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我猜 myMutableArray 是零?
另外,你可以这样做:(
如果你在 ARC 下,不要添加自动释放)
I guess
myMutableArray
is nil?Also, you can do this:
(don't add the autorelease if you're under ARC)
正如 nielsbot 所说,或者:
如果您需要担心的话,这已经返回了一个自动释放的实例。
As nielsbot said, or:
This already returns an autoreleased instance, if you need to worry about that.