簡體   English   中英

有關如何將Segue推送到TableViewController的步驟

[英]Steps on how to push segue to tableviewcontroller

我在通過推送序列在表視圖中顯示數據時遇到問題。 如何使數據通過推送功能顯示在表格視圖中? 我需要實現委托/協議嗎? 我將使用哪種方法添加邏輯以通過推送功能在TableViewController中顯示行。 我能夠導航到tableview並返回到按鈕排序視圖控制器。

有人可以告訴我與我寫《我的邏輯》時類似的過程嗎? 我被困在第4步。如果您有更簡單的執行方法,請告訴我。

我正在嘗試協調的控制器。

  • 從Tab Bar Controller執行的“ EventFeedController.m” TableViewController。 這顯示了事件。
  • “ ButtonSort.m”將segue推送到EventFeedController.m
  • AppDelegate.m具有數組。

我的邏輯...

在情節提要中。

  1. 將控件從ButtonSort中的UIButton直接拖動到EventsFeedViewController(不是拖動到導航控制器,而是直接拖動到View EventViewController本身。)。 (不確定是否應該控制拖動以查看視圖控制器或EventsfeedViewController的導航控制器)
  2. 從控制拖動的彈出窗口中選擇“推送選擇”
  3. 給Button指定一個Button01的標識符(這將在eventFeed.eventType = @“ Festival”;的情況下找到項目數組;)因此,為了清楚起見,Button01 =使用eventFeed.eventType = @“ Festival”查找事件;
  4. 步驟我堅持下去。 不確定如何訪問或顯示在AppDelegate.m didFinishLaunchingWithOptions段落中創建的數組。 我認為EventsFeedViewController中的cellForRowAtIndexPath將負責被調用並再次顯示行。

數組代碼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中提取數據,您需要執行以下操作。

  1. 確保您在執行segue時將AppDelegate.h導入到類中。
  2. 您可以在AppDelegate.h中創建NSMutableArray屬性,以保存數組數據“ eventArray”。

這只是一種可能的解決方案。

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.

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