簡體   English   中英

WKInterfaceTable檢測選擇哪一行

[英]WKInterfaceTable detect which row selected

我只需要檢查選擇哪一行在WKInterfaceController之間傳遞數據。 這是我的代碼,但NSLog沒有顯示任何內容:

- (void)loadTableData {

     NSArray* items = [NSArray arrayWithObjects:@"cell 1 ",@"cell2 ", @"cell 3",@"cell4",nil];

    // Configure the table object (self.todoItems) and get the row controllers.
    [self.myTable setNumberOfRows:items.count withRowType:@"DinoNameRow"];
    NSInteger rowCount = self.myTable.numberOfRows;

    // Iterate over the rows and set the label for each one.
    for (NSInteger i = 0; i < rowCount; i++) {
        // Get the to-do item data.
        NSString* itemText = items[i];

        // Assign the text to the row's label.
        DinoNameRow* row = [self.myTable rowControllerAtIndex:i];
        [row.dinoName setText:itemText];
    }
}
- (void)table:(WKInterfaceTable *)table didSelectRowAtIndex:(NSInteger)rowIndex {

    switch (rowIndex) {
        case 0:
            NSLog(@"ROW 1");
            break;

        default:
            break;
    }
}

確保......

  1. 您的WKInterfaceTable通過IBOutlet連接到Storyboard元素。
  2. 行控制器的rowType標識符在Storyboard中設置: 在此輸入圖像描述
  3. 行控制器的類標識符在Storyboard中設置: 在此輸入圖像描述
  4. 您已重寫了正確的WKInterfaceController方法:

     override func table(table: WKInterfaceTable, didSelectRowAtIndex rowIndex: Int) { } 

我在我的項目中使用的以下代碼運行良好。

  override func table(table: WKInterfaceTable, didSelectRowAtIndex rowIndex: Int) {
        let string = data[rowIndex]
        self.delegate?.didSeletStyle(style, string: string, index: rowIndex)
        popController()
    }

  private func reloadTable() {
        for i in 0 ..< table.numberOfRows {
            let row = table.rowControllerAtIndex(i) as! tableRow
            row.label.setText(data[i])
        }
    }

private func getData(style: Style) {
    if style == .Friend {
        data = ["a","b","c","d"]
    }

    table.setNumberOfRows(data.count, withRowType: "tableRow")
    reloadTable()
}

暫無
暫無

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

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