2010-08-05 60 views
0

我需要建立一个代码来跟踪我从订单视图中使用的id,但是现在我无法使它工作,有人可以将示例代码粘贴到我?iPhone Dev - 需要我访问的最后一个视图的ID

我需要一个TagID从view1 - > view2,所以当我登陆view2时,我可以获得关于它的信息并发送给用户屏幕。

我绳拉上有点帮助在这里:0)

回答

1

我想你在这里说的是,你从一个UIView的移动到另一个应用程序,你需要“传递”一个的一些方法从view1到view2的变量。

这是iPhone应用程序设计的常见用例,并且有几种方法。下面是我认为最简单的方法,它可以适用于任何对象(整型,NSManagedObjects等等):在第二个视图中创建一个iVar,并在将其显示之前将其设置为想要跟踪的值。

此设置在您的ViewTwoController的东西,如:

ViewTwoController.h: 
==================== 
@interface ViewTwoController : UIViewController { 
    NSUInteger *tagID; 
} 
@property (nonatomic, assign) NSUInteger *tagID; 
@end 

ViewTwoController.m 
=================== 
@synthesize tagID; 

所以在这一点您ViewTwoController对标签识别伊娃。现在,我们只需要从View One开始创建ViewTwoController,为tagID赋值,然后显示第二个视图。这可能会在你按下按钮选择来完成,或者从一个UITableView行作为这样的:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { 
    ViewTwoController *viewTwoController = [[ViewTwoController alloc] init]; 
    viewTwoController.tagID = self.tagID; // !! Here is where you "pass" the value 
    [self.navigationController pushViewController:viewTwoController animated:YES]; 
} 

什么上面的代码的作用是:(1)创建一个新的ViewTwoController,(2)标签识别的值赋给ViewTwoController中的tagID iVar,然后(3)将视图2呈现给用户。因此,在您的ViewTwoController代码中,您可以使用self.tagID访问tagID。

希望这会有所帮助!

+0

是的,它的权利是这样的,:0)但是当我这样做时,我的调试器发送错误,当我尝试使用保留保护...:/ – ParisNakitaKejser 2010-08-05 18:46:39

+0

没有看到代码它将有点难以调试错误。 ;) – 2010-08-05 19:29:05

+0

不要使用“保留”; NSUInteger不是Objective-C对象类型。改为使用“分配”。 – 2010-08-05 19:51:35

相关问题