私は基本的なテキスト エディターを作成しており、読み取りメソッドを実装する必要があります。私は NSDocument を使用しているので、メソッドをオーバーライドすることにしました- (BOOL)readFromData:(NSData *)data ofType:(NSString *)typeName error:(NSError **)outError
以下は、メソッドの私のコードです。
- (BOOL)readFromData:(NSData *)data ofType:(NSString *)typeName error:(NSError **)outError
{
BOOL readSuccess = NO;
NSString *fileContents = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
if (!fileContents && outError) {
*outError = [NSError errorWithDomain:NSCocoaErrorDomain code:NSFileReadUnknownError userInfo:nil];
}
if (fileContents) {
readSuccess = YES;
[textView setString: fileContents];
NSLog(@"%@",[textView string]);
}
return YES;
}
NSLog
NULL を返します。xib の textView オブジェクトを textView プロパティ ファイルの所有者 (NSDocument サブクラス) に接続しました。コードの何が問題になっていますか?
私のソース ファイルは、NSDocument サブクラス インターフェイスと実装ファイル (GNDocument.h および .m) だけです。MainMenu.xib と GNDocument.xib の 2 つの xib ファイルがあります (ファイルの所有者は GNDocument に設定されています)。文字列をコンソールに NSLog できます。唯一の問題は、既に接続を行っているにもかかわらず、NSTextView がファイルの所有者に接続されていないようです (ファイル所有者の textView プロパティから NSTextView にドラッグします)。
なぜうまくいかないのか本当にわからないので、誰かが私を啓発してくれることを願っています。正しい方向、または少なくともいくつかのヒントを教えてください。ありがとう。