Получение содержимого файла в Xcode - PullRequest
1 голос
/ 30 октября 2011

В моем проекте у меня есть простой текстовый файл с именем GAME.js, и я пытаюсь получить содержимое файла.пустая строка.

Пожалуйста, помогите мне исправить это.

Ответы [ 2 ]

8 голосов
/ 30 октября 2011

Поместите GAME.js в папку Resources в вашем проекте XCode и используйте следующий код для получения содержимого файла.

NSError *error = nil;
NSString* path = [[NSBundle mainBundle] pathForResource:@"GAME" ofType:@"js"];
NSString* gameFileContents = [NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:&error];
2 голосов
/ 30 октября 2011

Если вы передадите NSError, он точно скажет вам, в чем проблема:

NSError *error = nil;
NSString *myString = [NSString stringWithContentsOfFile:@"GAME.js" encoding:NSUTF8StringEncoding error:&error];

if (error) {
    NSLog(@"%@", [error localizedDescription]);
} else {
    NSLog(@"%@", myString);
}

NSError Документация


Кроме того, проверьте, находится ли он в каталоге документов, к которому можно получить доступ с помощью NSSearchPathForDirectoriesInDomains:

NSError *error = nil;

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *fullPath = [[paths objectAtIndex:0] stringByAppendingPathComponent:@"GAME.js"];

NSString *myString = [NSString stringWithContentsOfFile:fullPath encoding:NSUTF8StringEncoding error:&error];

if (error) {
    NSLog(@"%@ - %@", [error localizedDescription], [error localizedFailureReason]);
} else {
    NSLog(@"%@", myString);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...