【发布时间】:2015-03-22 23:12:40
【问题描述】:
我从 for 语句创建 txt 文件时遇到问题。以下是 CoreData 上的语句代码。
NSManagedObjectContext *context = [self managedObjectContext];
NSFetchRequest * allTickets = [[NSFetchRequest alloc] init];
[allTickets setEntity:[NSEntityDescription entityForName:@"Place" inManagedObjectContext:context]];
[allTickets setIncludesPropertyValues:NO];
NSError * error = nil;
NSArray * ticks = [context executeFetchRequest:allTickets error:&error];
for (NSManagedObject * tick in ticks) {
NSArray *keys = [[[tick entity] attributesByName] allKeys];
NSDictionary *myDict = [tick dictionaryWithValuesForKeys:keys];
NSString *theDate = [myDict objectForKey:@"date"];
NSString *theName = [myDict objectForKey:@"name"];
NSString *theNumber = [myDict objectForKey:@"number"];
NSString * finalExport = [NSString stringWithFormat:@"%@%@%@", theDate, theName, theNumber];
NSLog(@"%@",finalExport);
NSLog 结果正确打印出 CoreData 中的所有条目,一个接一个地运行每个请求。
我的问题是,当我想用 finalExport NSString 创建一个 txt 文件时,我只有文件中的第一个请求。
例如,我得到了一个 NSLog :
01.01.2015 MYNAME 34555445
02.01.2015 MYNAME 34523445
03.01.2015 MYNAME 34115445
04.01.2015 MYNAME 34552345
但是在文本文件中我只得到了
01.01.2015 MYNAME 34555445
那么我怎样才能拥有一个包含所有 NSLog 结果的文本文件
提前感谢您的帮助;)
编辑++++++++++++++++
下面是剩下的代码:
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0]; // Get documents directory
NSError *error;
BOOL succeed = [finalExport writeToFile:[documentsDirectory stringByAppendingPathComponent:@"Number.txt"]
atomically:YES encoding:NSUTF8StringEncoding error:&error];
if (!succeed){
NSLog(@"NOT WORKING");
}
【问题讨论】:
-
在您写入文件之前显示更多代码。我敢肯定你不是在写一组条目,而只是一个。
标签: xcode core-data for-loop nsstring nsmanagedobject