将对象移交给视图的正确方法?

时间:2010-12-21 16:04:31

标签: iphone viewcontroller nsobject

我对iphone开发有点新鲜。我开发了一个很好的App,它从feed中加载XML Data,在UITableView中显示这些数据,如果用户点击一行,那么应该有一个显示数据的详细视图。

这就是我被卡住的地方。我不清楚如何将用户选择的条目数据移交给我的详细视图。详细信息视图通过presentModalView ...

调用

我想到了:

  1. 调用详细视图的viewController的“setDetails:(PostingData *)myPosting”功能。

  2. 通过调用presentModalViewAnimated向用户显示detailView。

  3. 显示视图,但setDetails:函数崩溃而没有任何输出到调试器控制台。

    我的问题:

    将数据(在自定义对象中作为自编写类的实例)从我的视图控制器移交给应显示详细数据的视图控制器的正确方法是什么。

    任何提示或帮助表示赞赏。我无法支付你的帮助,但我正在成为更好的方式,然后帮助别人: - )。

2 个答案:

答案 0 :(得分:4)

方法1:将其传递给自定义初始化方法

在你的头文件中声明一个属性

@property (nonatomic, retain) id myDataObject;

在您的实现中使用像这样的自定义初始化

 -(id)initCustom:(id)myObject;
    if(self = [super init]) {
        myDataObject = [myObject retain];
    }
    return self;
  }

方法2:使用属性

在标题中使用@property 和.m实现文件中的@synthesize

   [CustomUIViewController* newViewController = [[CustomUIViewControlleralloc] init];
   newViewConroller.myDataObject = myObject;
   [view addSubview:newViewController.view];
   [newViewController release];

答案 1 :(得分:2)

  1. 在您的班级中定义自定义对象。 @property(nonatomic, retain) MyClass * myClass;
  2. 将Feed加载到NSMutableDictionary中并将其提供给您的类
  3. [YOUR_VIEW_CONTROLLER *yourViewController = [[YOUR_VIEW_CONTROLLER alloc] init];
    yourViewController.PROPERTY_DEFINED_BEFORE = yourObject;
    [view addSubview:yourViewController.view];
    [yourViewController release];
    

    欢呼声