簡體   English   中英

記錄tableView:didSelectRowAtIndexPath中的行:

[英]Logging the row in tableView:didSelectRowAtIndexPath:

為了更好地理解表以備將來使用,我希望有人可以給我一些使用此方法的簡單語法。 我希望將來能有所了解並以此為基礎。

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {

}

因此,我已經設置好了。 說我想NSLog選中的行的內容。 我將如何去做?

到目前為止,我已經用自己的方式嘗試了幾次,但是返回nil或出現錯誤。

編輯:我自己找到它。 解:

NSLog(@"Row: %@", [dataArray objectAtIndex:indexPath.row]);

indexPath上具有用於處理表的類別。 它響應-row和-section。

NSLog(@"Row: %d , Section %d",[indexPath row], [indexPath section]);

如果沒有您的實際代碼,就不可能確切地回答這個問題,而是要概括地說:

這是UITableViewDelegate協議中的方法。 表格視圖的委托是一個對象,表格視圖本質上是在某些事件發生時(例如此處,當用戶點擊一行以選擇它時)要求其“意見”。

通常,委托和表視圖的數據源是同一對象。 顧名思義,數據源提供了表視圖顯示的數據。 它通過看起來很像表視圖委托方法的方法來完成此操作。 表格視圖會根據需要數據源詢問信息,而不是從數據源發起交換。

因此,在該委托/數據源對象的某個位置(現在我們要討論的地方,使用您自己的代碼會很有幫助)具有對模型的引用,該模型代表了將在屏幕上顯示的所有信息。表。 這可以像數組一樣簡單,也可以是與某種全功能數據庫的連接。 無論如何,表視圖都要求數據源為該模型的每一行提供信息-這發生在tableView:cellForRowAtIndexPath:

這里的tableView:didSelectRowAtIndexPath:這個方法也可以訪問模型,因此檢查行內容所要做的就是執行與tableView:cellForRowAtIndexPath:相同的查找。

作為一個具體的例子:

NSLog(@"%@", [modelArray objectAtIndex:[indexPath row]]);

暫無
暫無

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

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