システム環境設定プロジェクトで NSImages を解決できないようです。
画像は、xcode プロジェクトのメイン フォルダーにある user.png です。
編集:ソース コードへのリンクを含めました。うまくいけば、誰かが問題を見つけることができます。
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"];