标签的 setText - Objective C Xcode 7

setText for Label - Objective C Xcode 7

我是 iOS 开发的新手 我遇到了标签不想在 NSArray 中显示值的问题。请哪位大神帮忙指出哪里错了,为什么?

NSDictionary *json = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:&error];

    json_data = [json objectForKey:@"data"];

    content = [json_data objectForKey:@"content"];

    NSMutableArray *contentTemp = [[NSMutableArray alloc] initWithCapacity:content.count];

    for (NSDictionary *contentInfo in content) {

        project_details *mvm = [[project_details alloc] init];
        mvm.bname = contentInfo[@"bname"];
        mvm.burl = contentInfo[@"burl"];
        mvm.p_num = contentInfo[@"p_id"];
        mvm.pname = contentInfo[@"pname"];
        mvm.pdesc = contentInfo[@"pdesc"];
        mvm.purl = contentInfo[@"purl"];
        mvm.plive = contentInfo[@"plive"];
        mvm.pcompleted = contentInfo[@"pcompleted"];
        mvm.days = contentInfo[@"days"];
        mvm.pfunds = contentInfo[@"pfunds"];
        mvm.amount = contentInfo[@"amount"];
        mvm.perc = contentInfo[@"perc"];

        [contentTemp addObject:mvm];

    }

    self.projectArray = contentTemp;

    dispatch_async(dispatch_get_main_queue(), ^{
         [self.label setText:[NSString stringWithFormat:@"%@", [self.projectArray valueForKey:@"bname"]]];

          NSLog(@"%@", [self.projectArray valueForKey:@"bname"]);
    });


}];

[dataTaskProject resume];

当我 运行 代码时我得到了什么:NSLog 打印正确的值但 setText 方法将“(”打印到标签。

这是我没有放入 URL 的代码,运行 编译代码时没有错误。

projectArray 在 .h 文件中定义为:@属性 (nonatomic, copy) NSArray *projectArray;

这是在 NSLog 中打印的内容:

2016-06-06 18:28:10.281 #####[37127:1228517] (
"Global Giving" )

在 NSArray returns 上调用 valueForKey NSArray。您可能想要的是 [(mvm *)self.projectArray.firstObject bname]。您的 self.projectArray 包含一个或多个 mvm 对象,这些对象具有 bname 属性.

你可以把.firstObject改为数组索引(即[1][2]等),这取决于你想在数组中访问什么(我不清楚来自你的代码)。