Objective c Xcode 4.2雪豹主详细信息应用程序故障排除
我是iOS应用程序开发的noob。Objective c Xcode 4.2雪豹主详细信息应用程序故障排除,objective-c,ios,xcode4.2,osx-snow-leopard,Objective C,Ios,Xcode4.2,Osx Snow Leopard,我是iOS应用程序开发的noob。 我正在尝试创建“UITableView->to Detail View”应用程序。 并在项目模板中找到“Master Detail Application”项目 然后我试了一下。然后问题来了。 我有一个动态的表视图,所以我必须使细节视图看起来也是动态的。 像这样: Table View Detail View Item A Item A is an <item_A_description>, with <i
我正在尝试创建“UITableView->to Detail View”应用程序。
并在项目模板中找到“Master Detail Application”项目 然后我试了一下。然后问题来了。 我有一个动态的表视图,所以我必须使细节视图看起来也是动态的。 像这样:
Table View Detail View
Item A Item A is an <item_A_description>, with <item_A_summary>
Item B Item B is an <item_B_description>, with <item_B_summary>
Item C Item C is an <item_C_description>, with <item_C_summary>
DetailViewController.h:
@interface metapsDetailViewController : UIViewController <UISplitViewControllerDelegate>
{
NSString *itemId;
}
@property (strong, nonatomic) IBOutlet UILabel * detailItem;
@property (nonatomic, retain) NSString *itemId;
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil withItemId:(NSString *)itemId;
谢谢您只在detailViewController不存在时创建它。您提供给detailViewController的项位于您的init中,因此该项将只设置一次。您应该在detailViewController中添加一个方法(或属性),您可以在其中设置项,以便在获得新数据时更改detailViewController 编辑:实现如下内容:
@synthesize itemId = _itemId;
-(void)setitemId:(NSString*)itemId{
if(_itemId != itemId)
{
[_itemId release];
_itemId = [itemId retain];
self.detailItem.text = _itemId;
}
}
只有当detailViewController不存在时,才能创建它。您提供给detailViewController的项位于您的init中,因此该项将只设置一次。您应该在detailViewController中添加一个方法(或属性),您可以在其中设置项,以便在获得新数据时更改detailViewController 编辑:实现如下内容:
@synthesize itemId = _itemId;
-(void)setitemId:(NSString*)itemId{
if(_itemId != itemId)
{
[_itemId release];
_itemId = [itemId retain];
self.detailItem.text = _itemId;
}
}
谢谢你的回答。是的,实际上我尝试在DetailViewController中使用一个属性,并通过该属性传递MasterViewController的didSelectRowatineXpath上的值
self.DetailViewController.itemId=a.itemId代码>。。。但是它也不起作用。你应该在detailViewController中实现标签更改,请看编辑。谢谢,我尝试了一下。我有一个问题,如果我有很多标签或UIImage,我应该为所有ui元素实现该方法吗?代码在detailViewController中。这里有一个属性itemId。这个方法只是在实现中,它是itemId属性的setter的自定义实现。您只需要itemId,一旦获得itemId,就可以开始加载所有需要的数据。因此,您不必设置标签,而需要调用该方法来开始加载项目。谢谢您的回答。是的,实际上我尝试在DetailViewController中使用一个属性,并通过该属性传递MasterViewController的didSelectRowatineXpath上的值self.DetailViewController.itemId=a.itemId代码>。。。但是它也不起作用。你应该在detailViewController中实现标签更改,请看编辑。谢谢,我尝试了一下。我有一个问题,如果我有很多标签或UIImage,我应该为所有ui元素实现该方法吗?代码在detailViewController中。这里有一个属性itemId。这个方法只是在实现中,它是itemId属性的setter的自定义实现。您只需要itemId,一旦获得itemId,就可以开始加载所有需要的数据。因此,您不必设置标签,而必须调用该方法来开始加载项。
@synthesize itemId = _itemId;
-(void)setitemId:(NSString*)itemId{
if(_itemId != itemId)
{
[_itemId release];
_itemId = [itemId retain];
self.detailItem.text = _itemId;
}
}