サブクラス化された NSTextFieldCell によって返される stringValue にファイル拡張子を追加しようとしています
知っていることやインターネットで見つけられることはすべて試しましたが、これは頭痛の種です
メソッドは次のとおりです。
- (void)drawWithFrame:(NSRect)cellFrame inView:(NSView *)controlView {
NSMutableString *filename = [[NSMutableString alloc] init];
[filename appendString:self.stringValue];
NSString *iconFileName = [[[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:filename] stringByAppendingPathExtension:@"png"];
NSLog(@"%@", iconFileName);
}
ただし、戻り値には拡張子がありません。私も次のことを試しました:
filename = [NSString stringWithFormat: @"%@.png", filename];
これは、「.png」を除いた「ファイル名」文字列を返します。
同様に:
filename = [filename stringByAppendingString: @".png"];
「ファイル名」だけを返します
このセルが属する表の列は NSObject にバインドされており、データを列に送信するメソッドは次のとおりです。
- (NSString *) nationString {
NSMutableString *string = [[NSMutableString alloc] init];
int index = 0;
if (nationAddress && nationAddress > 0x0) {
index = [[[[controller database] nationsAddressIndex] valueForKey:[NSString stringWithFormat:@"%lli", nationAddress]] intValue];
Nation *nationality = [[[controller database] nations] objectAtIndex:index];
[string appendString:[nationality name]];
}
else {
[string appendString:@"---"];
}
return string;
}
なぜこれが起こっているのか、または代替案を提案できる人はいますか? どんな助けでも感謝しますありがとう