0

好的,我的代码正在返回数组。JSONArray bellow 的日志完美返回,所以我不明白为什么字典在此代码下方给出了疯狂的结果:

NSMutableArray *listOfparts = [[NSMutableArray alloc] init];
    for (NSDictionary *object in JSONArray) {
        Part *part = [[Part alloc] initWithpartName:object[@"case_name"]
                imageName:object[@"case_image"]];
        [listOfparts addObject:part];

    }
    NSLog(@"array: %@", JSONArray);

// 记录 JSONArray - 看起来不错 //

array: (
        {
        "case_color" = White;
        "case_description" = "";
        "case_image" = "";
        "case_name" = "NZXT Phantom 410";
        "case_price" = "99.99";
        "case_type" = ATX;
        id = 1;
    },
        {
        "case_color" = Black;
        "case_description" = "";
        "case_image" = "";
        "case_name" = "Thermaltake MK+";
        "case_price" = "84.99";
        "case_type" = ATX;
        id = 2;
    }
)

// 记录 listOfparts - 看起来不太好 //

array: (
    "<Part: 0x71b5530>",
    "<Part: 0x71b5640>"
)

任何帮助,将不胜感激!

更新:我不认为我的桌子做得对

Part *eachpart = [listOfparts objectAtIndex:indexPath.row];
    cell.label.text = eachpart.part_name;
    cell.imageView.image = [UIImage imageNamed:eachpart.part_image];
4

2 回答 2

2

如果您谈论的是控制台上显示的值,那么您只会看到这些对象的内存地址。这是默认行为。如果您希望控制台显示您的属性值,只需子类化您的 NSObject 子类(在本例中为 Part)的 - (NSString *)description 方法,并返回一个字符串,该字符串具有您想要的属性值的格式在控制台上查看。

于 2012-08-16T23:50:18.317 回答
1

您正在打印Parts我认为是您制作的类(例如UIButtonor UIView),这些类是否具有partNameor之类的属性imageName?打印那些。

顺便说一句,您的代码似乎运行良好:)

于 2012-08-16T23:46:02.870 回答