在我的应用程序中,我在UIListView上显示了一个对象列表。 (MasterViewController.m)
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"Cell"];
ObrasData *obra = [self.arrObras objectAtIndex:indexPath.row];
cell.textLabel.text = obra.descripcion;
return cell;
}
我试图显示来自对象的所有数据,在这种情况下,我只加载一个字段来测试应用程序。 (DetailViewController.m)
- (void)configureView
{
// Update the user interface for the detail item.
if (self.detailItem) {
self.NombreObra.text = [self.detailItem description];
}
}
当我进入DetailView时,我在标签中得到以下文字 - >
<ObrasData: 0x892b4b0>
那么,从对象加载所有数据的最佳方法是什么?这是我加载数组的地方:
ObrasData *obra1 = [[ObrasData alloc] initWithID:[NSNumber numberWithInt:1] presupuesto:@"100" description:@"obra de prueba" aasm_state:@"En proceso" clienteID:@"dm2"];
NSMutableArray *arrObras = [NSMutableArray arrayWithObjects:obra1, nil];
UINavigationController *navController = (UINavigationController *) self.window.rootViewController;
MasterViewController *masterController = [navController.viewControllers objectAtIndex:0];
masterController.arrObras = arrObras;
感谢您的帮助。
答案 0 :(得分:1)
“description”是NSObject上的一个方法,它返回一个对象的文本描述,你所看到的是默认实现(只打印地址)。
这意味着您没有实现覆盖“description”的方法来返回其他内容。
如果没有看到ObrasData的实现情况,很难为您提供更多指导。
编辑,看过实现后我看到你有一个名为“descripcion”的属性(用西班牙语),你在init方法中初始化。我假设你真的想要这样做:
[self.detailItem descripcion]
另一方面,如果你确实想要描述整个对象,那么你需要覆盖描述方法,例如。
- (NSString *)description
{
return [NSString <create your description yourself here>];
}