0

階層構造を含む HTML リクエストから JSON オブジェクトを取得します。

JSON オブジェクトのサンプル:

{
    "_id": "4f870f064f95ae0da8000002",
    "name": "Category",
    "parent_id": null
},
{
    "_id": "4f870f0e4f95ae0da8000004",
    "name": "Brand",
    "parent_id": null
},
{
    "_id": "4f8715bd4f95ae0da8000028",
    "name": "Dermalogica",
    "parent_id": "4f870f0e4f95ae0da8000004"
},
{
    "_id": "4f8715de4f95ae0da800002a",
    "name": "Molton Brown",
    "parent_id": "4f870f0e4f95ae0da8000004"
},
{
    "_id": "4f8715ea4f95ae0da800002c",
    "name": "Waxing",
    "parent_id": "4f870f064f95ae0da8000002"
},
{
    "_id": "4f8715f34f95ae0da800002e",
    "name": "Mens Hair",
    "parent_id": "4f870f064f95ae0da8000002"
},
{
    "_id": "4f8715fd4f95ae0da8000030",
    "name": "Ladies Hair",
    "parent_id": "4f870f064f95ae0da8000002"
},
{
    "_id": "4f87161f4f95ae0da8000032",
    "name": "Massage",
    "parent_id": "4f870f064f95ae0da8000002"
}

同じように1つのエンティティに保存する場合、オブジェクトが親子関係でソートされるように、フェッチリクエスト(ソート)をどのように定義しますか?

4

2 に答える 2

-1

一方向 - NSOrderedSet を使用する - http://developer.apple.com/library/mac/#documentation/Foundation/Reference/NSOrderedSet_Class/Reference/Reference.html

第二に、(NSOrderedSet が iOS 5 で導入されたため) より便利で、sortDescriptors を使用した簡単な NSFetchRequest です。これは配列であるため、必要に応じて一度に多くの記述子を使用できます。したがって、parent_ididで記述子を使用すると、望ましい結果が得られます。

NSFetchRequest *request = [[NSFetchRequest alloc]init];
    request.entity = [NSEntityDescription entityForName:@"Child" inManagedObjectContext:context];
   // request.predicate = [NSPredicate predicateWithFormat:@"parent_id =  %@",parent_ID];You don't need any predicate,right?
    request.sortDescriptors = [NSArray arrayWithObjects:[NSSortDescriptor sortDescriptorWithKey:@"parent_id" ascending:YES],[NSSortDescriptor sortDescriptorWithKey:@"_id" ascending:YES],nil];

return [context executeFetchRequest:request error:&error];

また、Objective-C では、名前に下線を使用するのは便利ではありません。うまくいけば、それは役に立ちます。

于 2012-04-12T23:00:14.110 に答える