У меня проблема с методом NSData
object -writeToFile:
, так же как и с объектом NSString
.
Когда я компилирую программное обеспечение, оно выдает NSData
(или NSString
), который может не отвечать на сообщение -writeToFile:
.
Когда я запускаю программное обеспечение, оно достигает этой строки и делает исключение.
Данные, которые я пытаюсь записать в файл, содержат файл ASCII, загруженный из Интернета.
Обновление:
Я пытался получить результат в BOOL, но компиляция выдает то же предупреждение. Я что-то здесь упускаю?
Вот мой код. Если кто-нибудь может помочь.
NSString *docsDirectory = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
NSString *path = [docsDirectory stringByAppendingPathComponent: Name];
NSFileManager *fileManager = [NSFileManager defaultManager];
NSError *error = [[NSError alloc] init];
[fileManager removeItemAtPath:path error:&error];
NSURL *url = [NSURL URLWithString:@"http://www.szrt.hu/xls/luxor.csv"];
NSMutableURLRequest *liveRequest = [[NSMutableURLRequest alloc] initWithURL:url];
[liveRequest setCachePolicy:NSURLRequestReloadIgnoringCacheData];
[liveRequest setValue:@"headervalue" forHTTPHeaderField:@"headerfield"];
NSURLResponse *response;
NSData *myData = [NSURLConnection sendSynchronousRequest:liveRequest returningResponse:&response error:&error];
NSString *myString=[[NSString alloc] initWithData:myData encoding:NSASCIIStringEncoding];
[myString writeToFile:path automatically:YES encoding:NSASCIIStringEncoding];
[myData release];
[myString release];
return true;
Предупреждения следующие.
/ Пользователи / endre / Документы / Luxor / Классы / LuxorFile.m: 48: 0 /Users/endre/Documents/Luxor/Classes/LuxorFile.m:48: предупреждение: «NSString» может не отвечать на «-writeToFile» : автоматически: кодирование: '
/ Пользователи / endre / Документы / Luxor / Классы / LuxorFile.m: 48: 0 /Users/endre/Documents/Luxor/Classes/LuxorFile.m:48: warning: (Сообщения без соответствующей сигнатуры метода
/ Users / endre / Documents / Luxor / Classes / LuxorFile.m: 48: 0 /Users/endre/Documents/Luxor/Classes/LuxorFile.m:48: предупреждение: инициализация делает целое число из указателя без приведения
/ Пользователи / endre / Документы / Luxor / Классы / LuxorFile.m: 48: 0 /Users/endre/Documents/Luxor/Classes/LuxorFile.m:48: предупреждение: неиспользуемая переменная writeResult
/ Пользователи / endre / Документы / Luxor / Классы / LuxorFile.m: 68: 0 /Users/endre/Documents/Luxor/Classes/LuxorFile.m:68: предупреждение: «NSString» может не отвечать на «-writeToFile» : атомарно: кодирование: '