NSManagedObject:有一个循环的答案而不是来自一个循环的多个答案 Xcode
NSManagedObject : having one answer of a loop instead of multiple answer from a loop Xcode
我在从 for 语句创建 txt 文件时遇到问题。这是 CoreData 上语句的代码。
NSManagedObjectContext *context = [self managedObjectContext];</p>
<pre><code>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 我的名字 34555445
02.01.2015 我的名字 34523445
03.01.2015 我的名字 34115445
04.01.2015 我的名字 34552345
但是在文本文件中我只得到了
01.01.2015 我的名字 34555445
那么我怎样才能拥有包含所有 NSLog 结果的文本文件
在此先感谢您的帮助 ;)
编辑++++++++++++++
这是剩余的代码:
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [路径 objectAtIndex:0]; // 获取文档目录</p>
<pre><code> NSError *error;
BOOL succeed = [finalExport writeToFile:[documentsDirectory stringByAppendingPathComponent:@"Number.txt"]
atomically:YES encoding:NSUTF8StringEncoding error:&error];
if (!succeed){
NSLog(@"NOT WORKING");
}
您需要确保将一组条目写入文件,而不仅仅是一个条目。
我在从 for 语句创建 txt 文件时遇到问题。这是 CoreData 上语句的代码。
NSManagedObjectContext *context = [self managedObjectContext];</p>
<pre><code>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 我的名字 34555445
02.01.2015 我的名字 34523445
03.01.2015 我的名字 34115445
04.01.2015 我的名字 34552345
但是在文本文件中我只得到了
01.01.2015 我的名字 34555445
那么我怎样才能拥有包含所有 NSLog 结果的文本文件
在此先感谢您的帮助 ;)
编辑++++++++++++++
这是剩余的代码:
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [路径 objectAtIndex:0]; // 获取文档目录</p>
<pre><code> NSError *error;
BOOL succeed = [finalExport writeToFile:[documentsDirectory stringByAppendingPathComponent:@"Number.txt"]
atomically:YES encoding:NSUTF8StringEncoding error:&error];
if (!succeed){
NSLog(@"NOT WORKING");
}
您需要确保将一组条目写入文件,而不仅仅是一个条目。