簡體   English   中英

在表中選擇行時,如何通知詳細視圖選擇了哪一行?

[英]When a row is selected in a table, how can I inform the detail view about which row was selected?

在我的應用程序中,我使用的導航控制器使用表視圖來組織數據。 現在,當用戶選擇一行時,一個細節視圖被推入堆棧。 無論選擇哪一行,此詳細視圖都是相同的。 唯一的區別是,根據選擇的行,我的詳細信息視圖將從保存的.plist文件加載與所選行對應的數據。

所以我想知道如何通知我的詳細視圖,了解在我的表視圖中選擇了哪一行。

你能不能簡單地在視圖控制器中創建自定義init方法? 例如,我使用以下內容將選定日期傳遞給ViewController:

..界面

- (id)initWithNibNameandDate:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil  dateValue:(NSDate *) selectedDate;

......實施

- (id)initWithNibNameandDate:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil  dateValue:(NSDate *) selectedDate {
    self.selDate = selectedDate;
    return [super initWithNibName:nibNameOrNil bundle:nil];
}

您傳遞的數據類型無關緊要。

希望這可以幫助。

在表視圖控制器中,當用戶選擇行時,將調用didSelectRowAtIndexPath:方法。 返回值indexPath提供所選行的節號和行號。 從那里,您可以計算出有問題的項目(例如,它是您從中獲得它們的數組中的第n個),並且可以將其傳遞給詳細視圖控制器。

實際上它就像在詳細視圖控制器中添加NSUInteger ivar一樣簡單,然后在我將視圖推入堆棧之前簡單地從表委托方法設置其值。 謝謝你的答案。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM