![](/img/trans.png)
[英]Push segue from ViewController to a TableViewController not working
[英]Steps on how to push segue to tableviewcontroller
我在通過推送序列在表視圖中顯示數據時遇到問題。 如何使數據通過推送功能顯示在表格視圖中? 我需要實現委托/協議嗎? 我將使用哪種方法添加邏輯以通過推送功能在TableViewController中顯示行。 我能夠導航到tableview並返回到按鈕排序視圖控制器。
有人可以告訴我與我寫《我的邏輯》時類似的過程嗎? 我被困在第4步。如果您有更簡單的執行方法,請告訴我。
我正在嘗試協調的控制器。
我的邏輯...
在情節提要中。
數組代碼AppDelegate.m的示例
事件數組已創建AppDelegate.m。 單擊按鈕segue時需要拉事件。
_events = [NSMutableArray arrayWithCapacity:20];
//***************************************
// Event feed related area
//***************************************
SDEventsFeed *eventFeed = [[SDEventsFeed alloc] init];
eventFeed.eventTitle = @"Event Fest Test 1";
eventFeed.eventDescription = @"This is not to be missed";
eventFeed.eventStartTime = @"2:00 PM";
eventFeed.eventImage = [UIImage imageNamed:@"fest.jpg"];
eventFeed.eventType = @"Festival";
[_events addObject:eventFeed];
在要推送以顯示數據的表視圖控制器中,您將需要添加一個屬性來保存該數據。 類似於以下內容:
@property (nonatomic, strong) MyDataClass *myData;
然后在您要推送的視圖控制器(帶有按下表視圖控制器的按鈕的按鈕)中,您需要添加一個方法- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
。 您可以通過以下方式實現它:
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([segue.identifier isEqualToString:@"YourSegueIdentifierFromStoryboard"]) {
YourTableViewControllerClass *viewController = segue.destinationViewController;
viewController.myData = self.myData;
}
}
要從AppDelegate中提取數據,您需要執行以下操作。
這只是一種可能的解決方案。
ButtonSort.m
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([segue.identifier isEqualToString:@"Button01"]) {
YourTableViewControllerClass *viewController = segue.destinationViewController;
YourAppDelegate *appDelegate = (YourAppDelegate *)[[UIApplication sharedApplication] delegate];
viewController.events = appDelegate.eventsArray;
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.