UItableveiw的一些使用

2021-07-28 17:42:11 字數 1510 閱讀 7195

uitableview是ios用來展示資料的一種重要控制項,幾乎所有的資料展示頁面都可以用uitableview來做

uitableview使用首先要定義宣告,可用**定義也可用storybord直接拖,要設定**和資料來源  

**模式是ios開發中的重要模式,很好的使用**可以讓**寫起來更省力,有些**的使用也可以用swift中的閉包或object-c中的block來替代,之後我會上乙個**的例子

tv.delegate = self;

tv.datasource = self;
tableview使用時一定要明白其中的每個**方法:

常用的**方法有

定義section數量:

func numberofsections(in tableview: uitableview) -> int
定義row數量
func tableview(_ tableview: uitableview, numberofrowsinsection section: int) -> int
定義cell
func tableview(_ tableview: uitableview, cellforrowat indexpath: indexpath) -> uitableviewcell

如果不需要自定義cell,也可用系統提供的4種cell

let cell = uitableviewcell(style: .value1, reuseidentifier: "cel")

4種cell有

public enum uitableviewcellstyle : int

每行的行高:

func tableview(_ tableview: uitableview, heightforrowat indexpath: indexpath) -> cgfloat
一些常用**:

uitableviewcell加箭頭:

cell.accessorytype = .disclosureindicator

去除系統的分割線:

tv.separatorstyle = .none

tableviewcell 的選中效果:

cell.selectionstyle = .none

如果希望tableview重新整理的時候有動畫效果

重新整理動畫

// let xx : nsindexset = nsindexset(index: section)

// self.tableveiw.reloadsections(xx as indexset, with:.top)

關於Mutex semaphore的一些使用總結

一般用於執行緒對資源的保護,不能在中斷使用 在所有的執行緒同步方法中,恐怕互斥鎖 mutex 的出場率遠遠高於其它方法。互斥鎖的理解和基本使用方法都很容易,這裡不做更多介紹了。mutex可以分為遞迴鎖 recursive mutex 和非遞迴鎖 non recursive mutex 可遞迴鎖也可稱...

CArrary SetSize及陣列一些使用發現

carray 使用不當會產生記憶體碎片,應先呼叫setsize 但具體怎麼用還不是太清楚,先看 執行結果 1,0x2bcf58,0x2bcf98,2 2,0x2b9e78,0x2b9e78,2 3,0x2b9ec0,0x2b9ec0,80 從以上結果看出,第一種方法未用setsize是錯的,執行ar...

mybatis plus一些通用方法如何使用

insert相關 boolean insert t entity 插入 boolean insertselective t entity 選擇性插入,null欄位不插入 boolean insertbatch listentitylist 批量插入 delete相關 boolean deleteby...