中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

讀Effective Objective C總結(三)

發布時間:2020-07-08 09:52:26 來源:網絡 閱讀:360 作者:Kris_Chain 欄目:開發技術
  1. 在collection集合類中如NSSet中是不允許有相同的元素的,但是如果這樣寫:讀Effective Objective C總結(三)

    這樣就會第一個set的輸出結果是兩個相同的元素,第二個set的輸出結果只有一個元素

  2. 類族模式:由于在OC中沒有抽象基類,因此用工廠模式,比如我們可以用創建UIButton類似的方法:讀Effective Objective C總結(三)判斷某個實例所屬的類是否在類族之中,要用isKindOfClass不能用isMemeberOfClass,因為有些類會有內部類型

  3. 關聯對象的使用,實際上就是在局部空間建立一個通道來共享某些類,如在UIAlert里面共享block

  4. 消息是由接受消息的對象和函數指針構成的,若是沒有用到runtime,編譯器生成函數代碼的指令是硬編碼,如果用到動態綁定:

    第一,先要用@dynamic關鍵字修飾需要動態生成的屬性,然后重寫類的resolveInstanceMethod方法

    第二,如果第一步還是沒有找到合適的方法,就會調用forwardingTargetForSelector方法轉發給其他對象,一直執行到NSObject

    第三,如果第二步還沒有成功,就要啟動完整的消息轉發機制,首先創建NSInvocation對象,把尚未處理的消息信息全部封裝在這個對象里

  5. 可以通過方法調換的方式,改變objc_msgSend中函數列表中IMP的指針

  6. OC對象實際上使用結構體和指針來構造的,用isMemberOfClass判斷是否為某一特定類的實例,用isKindOfClass判斷是否為其類或者派生類的實例,而不要用[A Class] == [B Class]


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

安塞县| 确山县| 嘉义市| 高台县| 徐州市| 高尔夫| 连云港市| 确山县| 高雄县| 陕西省| 子洲县| 武冈市| 南京市| 麻栗坡县| 泰宁县| 科技| 将乐县| 大渡口区| 扎赉特旗| 桃源县| 城口县| 天等县| 平昌县| 湘西| 丰原市| 苗栗县| 姚安县| 屏东市| 嘉义市| 赫章县| 濮阳县| 漳州市| 突泉县| 陆良县| 双辽市| 台南县| 合川市| 衢州市| 礼泉县| 连江县| 盐边县|