我正在使用此函數在Xcode 4.3中的視圖之間切換。在視圖控制器之間傳遞變量
[self performSegueWithIdentifier:@"NextView" sender:self];
我想在頁面之間傳遞一些參數。我怎樣才能做到這一點?
我正在使用此函數在Xcode 4.3中的視圖之間切換。在視圖控制器之間傳遞變量
[self performSegueWithIdentifier:@"NextView" sender:self];
我想在頁面之間傳遞一些參數。我怎樣才能做到這一點?
performSegueWithIdentifier:sender:
後您的觀點。控制器會調用
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
假設你的新視圖控制器具有一些propertys to set:
if ([[segue identifier] isEqualToString:@"NextView"]) {
MyViewController *myVC = [segue destinationViewController];
myVC.propertyToSet = // set your properties here
}
這個問題有傳遞數據的視圖控制器之間的一個非常好的和正確的解釋:
是的,這是很好的解釋,但他們正在使用pushViewController視圖更改,但我想使用performSegueWithIdentifier。 – bla0009 2012-07-20 10:47:21
這裏是Pfitz答案,但我做了一點比較容易理解爲鄉親使用例如誰是新的Objective-C:
在你destinationViewController.h文件中添加屬性設置變量
// VOLViewController.m
#import "VOLVoteViewController.h
@property (nonatomic) int billIdReceivingVote;
導入你的destinationViewController.h您sourceViewController.m文件 '接收' 值
添加prepareForSegue
方法您sourceViewController.m文件和傳遞變量
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
VOLVoteViewController *myDestinationViewController = [segue destinationViewController];
// myDestinationViewController.variable = sourceViewController variabe
myDestinationViewController.billIdReceivingVote = [self.idOfBillSelected intValue];
}
沒有ü嘗試使用導航控制器代替。它是非常簡單的通過值 – WaaleedKhan 2012-07-20 10:30:01
不,我沒有嘗試導航控制器。我在故事板中使用常規按鈕並繼續播放。 – bla0009 2012-07-20 11:12:09