傳值
需求:(list內(nèi))給tableview footer內(nèi)的button增加一個點擊事件 調(diào)用api(參數(shù)id)(api需要提出來)
思路:通過其他api返回的數(shù)據(jù)獲取的id只能在當前代碼塊使用,所以調(diào)用該api寫在了對footer view的配置內(nèi),這樣代碼的可讀性不高。但是提出去使用這個id放在api內(nèi),id的獲取有點麻煩。所以我想到定義函數(shù)的時候可以設(shè)置傳入?yún)?shù)的屬性這個點。


需求:a頁面調(diào)用接口獲取的id需要傳入b頁面用來調(diào)用另一個接口完成查詢detail
思路:第一次做頁面之間的傳值,首先想到了閉包傳值。但是由于之前通過函數(shù)參數(shù)的方法傳遞ID成功。所以我想到了給b頁面的控制器賦一個需要init的值,這個值可以在a頁面進行pushVC的時候傳入。

這里定義的局部變量id 在進入這個頁面的時候已經(jīng)被賦值了 所以在調(diào)用api的時候可以直接使用。

注意:因為是先完成頁面的加載再進行數(shù)據(jù)的加載,所以在調(diào)用顯示data的api的時候需要reload() 否則容易出現(xiàn)nil
因此在使用返回的數(shù)據(jù)的時候要使用 if xxx != nil { }
xib內(nèi)數(shù)據(jù)的封裝
根據(jù)不同需求簡潔的顯示xib內(nèi)數(shù)據(jù) (調(diào)用函數(shù)的時候傳入相應(yīng)的參數(shù))

對一些特殊的需求可以更改約束 constant