- (IBAction)sendMessage:(id)sender
{
NSString* conversationFile = [@"~/" stringByAppendingPathComponent:@"conversation.txt"];
BOOL fileExists = [[NSFileManager defaultManager] fileExistsAtPath:conversationFile];
if (fileExists == FALSE)
{
[self doShellScript:@"do shell script \"cd ~/; touch conversation.txt\""];
}
NSString *conversationContent = [[NSString alloc] stringWithContentsOfFile:@"~/conversation.txt" encoding:NSUTF8StringEncoding error:NULL];
NSString *myMessage = [[messageBox stringValue]copy];
NSString *combinedContent = [NSString stringWithFormat:@"%@ \r\n %@", conversationContent, myMessage];
[[[myConversationBox textStorage] mutableString] setString: combinedContent];
[combinedContent writeToFile:@"~/conversation.txt" atomically:YES encoding:NSUTF8StringEncoding error:NULL];
}
上記のコードは、あなたが(shouldnする必要はありませんので、NSString
のクラスメソッドではなく、インスタンスメソッドであるObjective-CのファイルI/Oエラー
2011-07-07 21:38:08.703 iMessages[86493:903] -[NSPlaceholderString stringWithContentsOfFile:encoding:error:]: unrecognized selector sent to instance 0x100111690
2011-07-07 21:38:08.704 iMessages[86493:903] -[NSPlaceholderString stringWithContentsOfFile:encoding:error:]: unrecognized selector sent to instance 0x100111690
をあなたがするif文の後に行を変更した場合に何が起こるか:* conversationContent = [:conversationFileエンコーディング:NSUTF8StringEncodingエラー:[NSStringのアロケーション] stringWithContentsOfFile NULL]をNSStringの。 –
if文の前には意味がありますか?それはすでに後です.. – evdude100