Ошибка ввода-вывода файла Objective-C - PullRequest
0 голосов
/ 08 июля 2011
- (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];

}

Приведенный выше код представляет следующую ошибку

2011-07-07 21: 38: 08.703 [86493 IM сообщения: 903] - [NSPlaceholderString stringWithContentsOfFile: кодировка: ошибка:]: нераспознанный селектор отправлен на экземпляр 0x100111690

2011-07-07 21: 38: 08.704 [86493 IM сообщения: 903] - [NSPlaceholderString stringWithContentsOfFile: кодировка: ошибка:]: нераспознанный селектор отправлен на экземпляр 0x100111690

Ответы [ 2 ]

2 голосов
/ 08 июля 2011

stringWithContentsOfFile:encoding:error: является методом класса NSString, а не методом экземпляра, поэтому вам не нужно (не нужно) выделять его первым.

1 голос
/ 08 июля 2011

Используйте initWithContentsOfFile вместо stringWithContentsOfFile или удалите вызов alloc.Итак:

NSString *conversationContent = [[NSString alloc] initWithContentsOfFile:@"~/conversation.txt" encoding:NSUTF8StringEncoding error:NULL];

или

NSString *conversationContent = [NSString stringWithContentsOfFile:@"~/conversation.txt" encoding:NSUTF8StringEncoding error:NULL];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...