0

ホームページから写真を取得して表示したい。そして、それは(一種の)機能します。しかし、ここで何かが起こったために、次のシーンをロードするのに 10 秒ほどかかることがあります。だからここに私がすることがあります:

            NSString *myURL = [PICURL stringByAppendingString:[[[[levelConfig objectForKey:category] objectForKey:lSet] objectForKey:levelString] objectForKey:@"pic"]];
            UIImage *dYKPic = [UIImage imageWithData: [NSData dataWithContentsOfURL: [NSURL URLWithString:myURL]]];

            if(dYKPic == nil){
                NSString *defaultURL = @"http://www.exampleHP.com/exampleFolder/default.jpg";
                dYKPic = [UIImage imageWithData: [NSData dataWithContentsOfURL: [NSURL URLWithString:defaultURL]]];
            }

                CCTexture2D *tex = [[CCTexture2D alloc] initWithImage:dYKPic];
                CCSprite *image = [CCSprite spriteWithTexture:tex];
                image.anchorPoint = ccp(0,0);
                image.position = ccp(32,216);
                [self addChild:image z:2];

したがって、10秒かかり、さらに、default.jpgがロードされます-画像が存在する場合でも-しかし、それは非常に時間がかかる場合に限られます...ケースの70%は完全に正常に機能します...だからなにが問題ですか ?tex はどこでリリースしますか? 子を追加した直後?

4

1 に答える 1

0

画像をロードする必要があります。それが問題です。ロードしてキャッシュするか、保存するか、必要になる前にプリロードする必要があります。

または、最後のオプションの 1 つは、非同期にロードし、終了時にビューを更新することです。

于 2012-05-27T19:28:59.470 に答える