Установка изображений как UIImages в качестве переменных экземпляра
У меня есть папка png, которая называется "cards" в файле поддержки. Я пытаюсь установить рис в качестве переменной экземпляра UIImage для объекта. Когда я пытаюсь NSLog UIImage, я получаю ноль.
Я не думаю, что я получаю доступ к пути к фотографиям правильно, но не уверен????
#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;
}
}
@конец
1 ответ
Концептуально лучшим подходом было бы использование метода NSBundle
который был специально разработан для работы с подкаталогами:
NSString *fileName = [NSString stringWithFormat:@"card_%d", picNum];
NSString *path = [[NSBundle mainBundle] pathForResource:fileName
ofType:@"png"
inDirectory:@"cards"];