【问题标题】:NSManagedObject : having one answer of a loop instead of multiple answer from a loop XcodeNSManagedObject :有一个循环的答案而不是循环Xcode的多个答案
【发布时间】: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


【解决方案1】:

您需要确保将一组条目写入文件,而不仅仅是一个条目。

【讨论】:

  • 这是我编写文件时的其余代码,我将其添加到起始问题
  • 从您的代码中我看到我是正确的。请将您的finalExport 添加到数组中,然后在数组上调用writeToFile
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-11-05
  • 2022-08-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多