0

サポートファイルに「カード」と呼ばれるpngのフォルダーがあります。オブジェクトの UIImage インスタンス変数として pic を設定しようとしています。UIImage を NSLog しようとすると、null になります。

写真へのパスに正しくアクセスしているとは思いませんが、よくわかりません????

#import "Deck.h"
#import "Card.h"

@implementation Deck

@synthesize cards;

- (id) init
{
    if(self = [super init])
    {
        cards = [[NSMutableArray alloc] init];

        NSInteger aCount, picNum = 0;

        for(int suit = 0; suit < 4; suit++)
        {
            for(int face = 1; face < 14; face++, picNum++)
            {

                //NSString *path = [[NSBundle mainBundle] bundlePath];
                //NSString *imagePath = [path stringByAppendingPathComponent: [NSString stringWithFormat:@"/cards/card_%d.png",picNum]];

                NSString *fileName = [NSString stringWithFormat:@"card_%d", picNum];
                NSString *path = [[NSBundle mainBundle] pathForResource:fileName ofType:@"png"inDirectory:@"/cards"];

                NSLog(@"%@", path);
                UIImage *output = [UIImage imageNamed:path];

                //NSLog(@"%@", output);

                Card *card = [[Card alloc] initWithFaceValue:(NSInteger)face
                                                countValue:(NSInteger)aCount
                                                suit:(Suit)suit
                                                cardImage:(UIImage *)output];

                [cards addObject:card];
            }

        }
    }
    return self;
}

}

@終わり

4

1 に答える 1

1

概念的に優れたアプローチはNSBundle、サブディレクトリを操作するために特別に設計された方法を使用することです。

NSString *fileName = [NSString stringWithFormat:@"card_%d", picNum];
NSString *path = [[NSBundle mainBundle] pathForResource:fileName
                                                 ofType:@"png"
                                            inDirectory:@"cards"];
于 2012-12-28T16:07:43.753 に答える