0

我的 JSON 写得好吗?我只有带有详细信息的框,然后我想填充核心数据实体。(顺便说一句,我需要一个简单的教程来在 coredata 中设置我的数据,你有吗?cimgf 的教程太复杂或者我只是不明白它们:/

{
    "boxes": {
    "boxesDetail": [
        {
            "codeArticle": "WPCDE01C412L",
            "nameBox": "boxName",
            "texteMarketing": "boxTextMarketing",
            "descriptionBox": "boxDescritpion",
            "nbActivities": 1650,
            "kindBox": "boxKind",
            "typeBox": "boxType",
            "priceBox": 20,
            "dlu": 2014,
            "note": 3
        },
        {
            "codeArticle": "BOOYAKA!!",
            "nameBox": "boxNameName",
            "texteMarketing": "boxTextMarketing",
            "descriptionBox": "boxDescritpion",
            "nbActivities": 1650,
            "kindBox": "boxKind",
            "typeBox": "boxType",
            "priceBox": 39,
            "dlu": 2014,
            "note": 3
        }
    ]
    }
}
4

1 回答 1

1

正如 JeremyP 所说,您应该使用 JSON Parser 来检查您的 JSON。我也完全推荐jsonlint.com来检查 JSON。

至于 CoreData 的简单教程,我推荐Ray Wenderlich 的教程。它已针对 iOS 5 进行了更新,因此更新的教程可能会帮助您理解。我还没有完成更新的教程,但我很确定那是我在学习 CoreData 时查看的 pre-iOS 5 教程。

在查看 CoreData 教程并了解它并理解它之后,我将编写一个辅助函数作为你的 Box 上的一个类别。

类似的东西

+ (id)boxWithDictionary:(NSDictionary *)dict withManagedObjectContext:(NSManagedObjectContext *)managedObjectContext;
{
    Box *box = [NSEntityDescription insertNewObjectForEntityForName:@"Box" 
                                             inManagedObjectContext:managedObjectContext];

    box.codeArticle    = [dict objectForKey:@"codeArticle"];
    box.nameBox        = [dict objectForKey:@"nameBox"];
    box.texteMarketing = [dict objectForKey:@"texteMarketing"];
    box.descriptionBox = [dict objectForKey:@"descriptionBox"];
    box.nbActivities   = [dict objectForKey:@"nbActivities"];
    box.kindBox        = [dict objectForKey:@"boxKind"];
    box.typeBox        = [dict objectForKey:@"boxType"];
    box.priceBox       = [dict objectForKey:@"priceBox"];
    box.dlu            = [dict objectForKey:@"dlu"];
    box.note           = [dict objectForKey:@"note"];

    return box;
}

将此代码放在一个类别中并放在 Xcode 生成的 Box.m 和 Box.h 文件的单独文件中的原因是,如果您曾经在 CoreData 中编辑 Box 实体并且必须生成一个新文件,它将不会t 用你的辅助函数覆盖这个类别文件。

我希望这有帮助。

于 2012-04-30T14:21:04.227 回答