如何使用 nsarray 初始化 nsmutablearray

发布于 2024-12-28 17:37:52 字数 940 浏览 0 评论 0原文

我正在尝试使用 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

|煩躁 2025-01-04 17:37:52

我猜 myMutableArray 是零?

另外,你可以这样做:(

myMutableArray = [ [ filteredArray mutableCopy ] autorelease ] ;

如果你在 ARC 下,不要添加自动释放)

I guess myMutableArray is nil?

Also, you can do this:

myMutableArray = [ [ filteredArray mutableCopy ] autorelease ] ;

(don't add the autorelease if you're under ARC)

旧话新听 2025-01-04 17:37:52

正如 nielsbot 所说,或者:

myMutableArray = [NSMutableArray arrayWithArray: filteredArray];

如果您需要担心的话,这已经返回了一个自动释放的实例。

As nielsbot said, or:

myMutableArray = [NSMutableArray arrayWithArray: filteredArray];

This already returns an autoreleased instance, if you need to worry about that.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文