Чтобы исправить вашу начальную проблему, вам нужно использовать NSMutableString
.Переменная formattedData
не нужна.
...
NSMutableString * printedData = [NSMutableString string];
...
for(NSManagedObject * info in fetchedObjects)
{
...
[printedData appendFormat:@"|%@|%@|%@|%@|%@|%@|%@|%@|%@|\n",clientName,clientAccount,productCode,productQuantity,productPrice,orderID,transactionID,orderTotal,salesRepID];
}
...
Ваша следующая проблема - насколько неэффективен этот код.Вы перебираете одну и ту же коллекцию дважды, один раз для входа, один раз для создания отформатированной строки.Вы можете объединить это в один цикл.Также все переменные определены вне области цикла for, в котором они используются, вы можете просто объявить каждую из них в строке, подобной этой.
for(NSManagedObject * info in fetchedObjects)
{
NSString *clientName = [info valueForKey:@"clientName"];
NSString *clientAccount = [info valueForKey:@"clientAccountNumber"];
...
//Log them all
NSLog(@"%@",clientName);
NSLog(@"%@",clientAccount);
...
}