Я не могу заставить свои NSImages разрешить в моем проекте «Системные настройки»?Системные настройки NSImage не разрешает
Изображение представляет собой user.png, который находится в моей основной папке моего проекта xcode.
EDIT: Я включил ссылку на Source Code. Надеюсь, кто-то сможет определить проблему.
PersonController.m
- (id)tableView:(NSTableView *)tableView objectValueForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row {
Person *person = [personsList objectAtIndex:row];
if (tableColumn == listGender) {
if ([person.gender isEqualToString: @"m"]) {
/****************************
* Method - 1: Doesn't work
****************************/
NSImage *image = [NSImage imageNamed:@"user.png"];
NSLog(@"image is valid? %@", [image isValid] ? @"yes" : @"no");
return image;
// return @"male";
}
else {
/****************************
* Method - 1: Doesn't work
****************************/
NSImage *image = [NSImage imageNamed:@"user_female.png"];
NSLog(@"image is valid? %@", [image isValid] ? @"yes" : @"no");
return image;
// return @"female";
}
}
else if (tableColumn == listName) {
return [person valueForKey:@"name"];
}
else {
return nil;
}
}
Кроме того, указав этот путь работает, но почему я должен указать полный путь?
NSImage *myImage = [[NSImage alloc] initByReferencingFile:@"/Users/coderama/sandbox/Persons/user.png"];
Лучше использовать 'mainBundle', как в моем ответе ниже, если вы хотите, чтобы ваше приложение работало с другими маками –
Я благодарю всех за их предложения, но, к сожалению, никто из них не работал. Пожалуйста, ознакомьтесь с обновлением исходного кода ... надеюсь, кто-то сможет определить проблему. Также +1 для всех, кто помог – Coderama