2010-08-05 64 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

相關問題