2013-10-18 16 views
-2

在我的应用程序中,im显示UIListView上的对象列表。 (MasterViewController.m)如何将数据从MasterView发送到DetailView

- (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; 
} 

进出口试图示出了从对象的所有数据,在此情况下,IM只有加载一个字段来测试应用程序。 (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

你是什么意思'加载对象的所有数据'?加载它在哪里?你想在你的'detailItem'中添加数字和字符串到屏幕上?创建一些UI并访问'ObrasData'的属性。 – Wain

+0

我已经创建了一个UITextView,问题是文字显示:ObrasData:0x892b4b0 – MidouCloud

回答

1

“description”是NSObject上的一个方法,它返回对象的文本描述,你看到的是默认实现(它只是输出地址)。

这意味着您没有实现的方法会覆盖“description”来返回其他内容。

没有看到ObrasData的实现是什么样子,很难引导你更多。

编辑,看到了实现,我看到你有一个名为“descripcion”(用西班牙语),你初始化在init方法的属性。我想那么你真的想这样做:

[self.detailItem descripcion] 

如果,另一方面,你真的想描述整个对象,那么你需要重写例如描述方法

- (NSString *)description 
{ 
    return [NSString <create your description yourself here>]; 
} 
+0

在这个问题im即显示的实现:[链接](http://stackoverflow.com/questions/19445190/incompatible-pointer-to-整数 - conversion-xcode-show-object-on-a-listvew/19445374?noredirect = 1#19445374),谢谢 – MidouCloud