開發中注意點

2021-07-02 18:35:40 字數 1800 閱讀 5805

2.storyboard和xib檔案的載入:

storyboard和xib檔案本質上是乙個xml檔案,系統在載入乙個介面的時候,首先拿到這個xml檔案,然後解析它,然後將解析出來的檢視載入到介面上,在解析的時候,會自動去呼叫內部控制項的set方法,我們可以自己寫子控制項的set方法,這樣就可以在介面的載入階段做一些想做的事情。

3.get方法注意:

我們經常要寫get方法,需要注意的是,在get方法中,要慎用點語法,如果不慎在get方法中使用點語法(點語法的本質就是get方法)再次呼叫了這個get方法,就會造成無限迴圈,程式鎖死。

4,nstimer是不準確的:

nstimer是不準確的,如果nstimer觸發事件的時候,cpu正好繁忙,就有可能會不去響應定時器事件,而本應該觸發的事件,將會等到下一次定時器觸發時執行,即任務會延遲,堆疊。所以nstimer一般用來處理時間跨度比較大的事件,因為這些事件對時間的精度要求可能沒有那麼高,相差一兩秒可能不要緊。對於精度要求比較高的任務,可以使用cadisplaylink。

5.直接從陣列中取出的物件是id型別

6.使用init初始化的ui控制項,是沒有初始frame的。

剛初始化時,它的frame是(0,0,0,0),比如uitableviewheaderfooterview這個東西,如果初始化時不指定它的frame,那麼它就預設frame全是0,當被新增到tableview中之後,系統才會給他乙個預設的frame。我們可以使用layoutsubviews這個方法來對其內部的子控制項進行布局,這個方法在物件的frame被改變時呼叫。

7.layoutsubviews這個方法,是在物件的frame被改變時自動呼叫的,可以在物件的frame改變的同時,在這個方法中同步改變其子控制項的位置屬性。

8.didmovetosuperview這個方法,是在控制項被加到父控制項時以及自己被init時自動呼叫的,如果想在控制項被載入到父控制項的同時做一些操作,寫在這個方法中即可(

疑問,為什麼連續呼叫兩次?)。

9.重用快取池中的單元格時要注意,需要重新設定單元格中的資料,因為被重用的單元格是之前使用過的,內容可能已經被修改過了,如果直接從快取池中拿出來不重新設定就使用,很可能出現之前的效果重現的情況。

11.判斷物件是否屬於某個類:iskindofclass:

12.使用繪圖上下文來顯示繪製影象的原因是,繪圖上下文本質上是乙個記憶體緩衝區,將所有繪製的影象放到這個記憶體緩衝區上去,然後最後一步的渲染就只用進行記憶體操作就可以了,記憶體操作是非常快速的,可以保證渲染的速度。

13.drawrect:方法是在檢視載入時呼叫的,在呼叫之前,系統為我們生成了乙個繪圖上下文,所以我們可以在drawrect:方法中得到上下文來繪圖,而如果想重繪,直接呼叫drawrect:方法是沒用的。需要呼叫 setneedsdisplay方法,這個方法就會在view上做乙個重繪標記,下一次螢幕重新整理時就會呼叫drawrect:方法了。

14.cadisplaylink,是螢幕重新整理定時器,可以指定一些操作在螢幕重新整理時進行,定義過之後,需要將之加入執行迴圈,呼叫addtorunloop方法。

15.相同時支援兩個手勢觸發,需要設定兩個手勢的**,並實現**方法:

16.獲取控制項的已旋轉角度:

17.可以使用註冊(register)的方式,註冊乙個帶有識別符號的單元格(tableviewcell或collectionviewcell)到快取池中。

18.load方法在類被載入進記憶體時會呼叫,initialize在第一次使用時會呼叫。並且都是只呼叫一次。 

19.可單獨設定某個檔案為非arc的編譯模式,在build phases中找到該檔案,給其設定編譯選項-fno-objc-arc即可。

20.在工程中新增了動態庫後,要在鏈結選項中加上相應鏈結選項。

PHP中注意點

記一些坑 phpfpm配置 pm.max children 最大併發數 詳細的答案 pm.max children 表示 php fpm 能啟動的子程序的最大數量。因為 php fpm 是多程序單執行緒同步模式,即乙個子程序同時最多處理乙個請求,所以子程序數等於最大併發數。但是實際使用中一般不用考慮...

開發注意點

1.不要在mybatis的xml檔案裡map使用巢狀查詢,如 property inte ceinfo column inte ce code select selectbyinte cecode 可能會導致很嚴重的效能問題 2.定義固定的返回格式類 如 public class effect 3....

Ionic開發中注意事項 持續更新

1 angular services依賴注入的規範 自定義的service要寫在內建的angular services之後,自定義的service之間是沒有先後順序的 2 ionic1.3之後頁面為了提供效能加入了快取機制,如果不需要可以在配置頁面時將cache屬性設為false stateprov...