ここからの回答を使用して一日中苦労しましたが、自分に合った解決策が見つからないので、助けを求めると思いました:
エンティティから抽出したオブジェクトの配列があります。
私がしたいのは、オブジェクトをファイルに書き込むことだけです。
これまでに思いついたのは次のとおりです。
NSLog(@" Exported Records: %i", [exportArray count]);
// the count here is 4 records.
//Each record has about 8 elements.
//I'm just trying to get this working with the first two elements right now
NSString *writeString = nil;
NSError *error = nil;
int i = 0;
NSString *key = nil;
NSString *tempString = nil;
for (i=0; i<[exportArray count]; i++)
{
tempString = [tempString stringByAppendingString: @" \n "];
for (int j=0; j<3; j++)
{
if (j == 0)
{
key = [[exportArray objectAtIndex:i] valueForKey:@"title"];
//[NSString stringWithFormat:tempString2, [[exportArray objectAtIndex:i] valueForKey:@"title"]];
}
if (j == 1)
{
key = [[exportArray objectAtIndex:i] valueForKey:@"username"];
//[NSString stringWithFormat:tempString2, [[exportArray objectAtIndex:i] valueForKey:@"username"]];
}
writeString = [NSString stringWithFormat:tempString, key];
}
}
// Write to the file
[writeString writeToFile:dataFile atomically:YES
encoding:NSUTF8StringEncoding error:&error];
if (error)
{
NSLog(@"%@", error);
}
現在、最後のアイテムを取得しているので、文字列を上書きしています。しかし、これを達成するためのより良い方法が必要です。ここに私の質問に一致する別の回答があるかどうかをお知らせください。または、いくつかのアイデアを投稿してください。
アップデート
exportArray をログに記録すると、次のようになります。
"<ItemEntity: 0x1ddf6560> (entity: ItemEntity; id: 0x1ddf46d0 <x-coredata://78FBC4A5-AE1A-4344-98AB-978126457D96/ItemEntity/p2> ; data: <fault>)",
"<ItemEntity: 0x1ddf6800> (entity: ItemEntity; id: 0x1ddf46e0 <x-coredata://78FBC4A5-AE1A-4344-98AB-978126457D96/ItemEntity/p2051> ; data: <fault>)",
"<ItemEntity: 0x1ddf6860> (entity: ItemEntity; id: 0x1ddf45d0 <x-coredata://78FBC4A5-AE1A-4344-98AB-978126457D96/ItemEntity/p3075> ; data: <fault>)",
"<ItemEntity: 0x1ddf68c0> (entity: ItemEntity; id: 0x1ddf45e0 <x-coredata://78FBC4A5-AE1A-4344-98AB-978126457D96/ItemEntity/p5124> ; data: <fault>)"
)
実際の値をログに記録すると:
NSLog(@" Exported titles: %@", [exportArray valueForKey:@"title"]);
NSLog(@" Exported usernames: %@", [exportArray valueForKey:@"username"]);
正しい結果が得られます。これらと他の属性を結び付ける方法がわかりません..
Exported titles: (
1,
2,
4,
6
)
Exported usernames: (
ellis,
david,
bea,
ian
)