2012-01-06 67 views
-2

我有兩個UITableViewControllers(連接到UINavigationController)。當我點擊第一個控制器上的UITableViewCell時,我創建了一個segue,以便第二個控制器進入視圖。我想在第二個視圖控制器中包含所選內容上的文本的變量。我該怎麼做呢?我嘗試過直接傳遞它,但由於某種原因它不起作用。最簡單的方法將屬性傳遞給UITableViewController

回答

0

聲明一個屬性(如selectedText - 一個NSString)在接收視圖控制器(在這種情況下,我們將它稱爲SecondTableViewController)。下面是代碼:

在SecondTableViewController.h:

@interface SecondTableViewController : UITableViewController { 

} 

@property(nonatomic, strong) NSString *selectedText; 

在SecondTableViewController.m:

@implementation SecondTableViewController 
@synthesize messageDetail; 

在你FirstTableViewController.m:

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender 
{ 
    // Make sure we are dealing with the proper Segue 
    if ([segue.identifier isEqualToString:@"idOfMySegue"]) { 
     SecondTableViewController *svc = segue.destinationViewController; 
     svc.selectedText = myVarValue; // This can be got from either setting another var in the tableviewcontroller or by just passing the entire object at the selected index of the NSIndexPath.row (if you are populating the tableview with an array. Note you would change the object type of the passed along object from an NSString to whatever the other object is. 
    } 
} 

的prepareForSeque方法您可以將任何數據或對象從一個視圖傳遞到另一個視圖。

+0

唯一的問題是我無法訪問prepareForSegue(prepareForSegue類中輸入的類)中的任何類屬性 – blake305 2012-01-07 00:58:22

+0

只要您在FirstTableViewController.m文件中包含對SecondTableViewController的引用,就可以訪問這些屬性 – 2012-01-07 00:59:30

+0

如果你給我你現在有什麼,我會盡力幫你解決問題。 – 2012-01-07 01:01:08

相關問題