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
定義cellfunc 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...