![](/img/trans.png)
[英]Detect which activity will be selected in UIActivityViewController
[英]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;
}
}
確保......
WKInterfaceTable
通過IBOutlet連接到Storyboard元素。 您已重寫了正確的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.