0

我正在从 Web 服务获取数据:

//temp1 is NSDictionary
//responseArr1 is NSMutableArray
for(temp1 in responseArr1)......., 
{
     quesTxt = [[temp1 objectForKey:@"question_text"] stringByReplacingOccurrencesOfString:@"%PROFILENAME%" withString:del.onlyFirstName];

     quesID = [temp1 objectForKey:@"idlife_stage_question"];

     Home *objHome=[[Home alloc] init];

     objHome.homeQuesTxt = quesTxt;
     objHome.homeQuesID = quesID;

     [quesArray addObject:objHome];

     //[quesArray addObject:[[temp1 objectForKey:@"question_text"] stringByReplacingOccurrencesOfString:@"%PROFILENAME%" withString:del.onlyFirstName]];//this works fine

        }

我尝试在选择器视图中填充的所有日期都会出现异常。

选择器视图委托:

- (UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view {
    UILabel *retval = (id)view;
    if (!retval) {
        retval= [[UILabel alloc] initWithFrame:CGRectMake(0.0f, 0.0f, [pickerView rowSizeForComponent:component].width, [pickerView rowSizeForComponent:component].height)];
    }

    retval.text = [quesArray objectAtIndex:row];.........// **EXCEPTION HERE**...

    retval.font = [UIFont boldSystemFontOfSize:14];
    retval.numberOfLines = 3;

    return retval;
}

我的网络服务示例:

{
        "idlife_stage_question" = 35;
        "life_stage_idlife_stage" = 1;
        "profile_idprofile" = 0;
        "question_text" = "When %PROFILENAME% first smiled?";..//%PROFILENAME% replaces with user name which i have
        sequence = 34;
    }

Home 是 NSObject 的子类

请帮忙。

4

3 回答 3

1
retval.text = [quesArray objectAtIndex:row];

在这里您正在访问quesArray.

这是:[quesArray addObject:objHome];

而 objHome 是:Home *objHome=[[Home alloc] init];

所以你的错误就在这里,你试图将对象放入retval期望NSString.

您需要使用以下内容:

retval.text = [[quesArray objectAtIndex:row] homeQuesTxt]; //or anyother property that you want to show in text
于 2013-04-23T10:59:50.700 回答
1
retval.text = [quesArray objectAtIndex:row];

retval.text是一个字符串,你正在为它分配一个对象

你可以这样做

 Home  *newHome=[quesArray objectAtIndex:row];

  retval.text=newHome.homeQuesTxt;
于 2013-04-23T11:01:02.067 回答
0

quesArray填充有Home对象

Home *home = quesArray[row];
retval.text = home.homeQuesTxt;
于 2013-04-23T11:03:26.197 回答