1. 程式人生 > >包建強的培訓課程(11):iOS Runtime實戰

包建強的培訓課程(11):iOS Runtime實戰

iOS Runtime實戰

一、簡介

本課程結合講師多年來對iOS Runtime技術的潛心研究,以及在千萬級使用者的App上長期實踐經驗,整理而成。本課程從NSObjectClass講起,然後會介紹本課程的核心內容——自省和Method Swizzling,最後通過iOS Runtime在專案中的實際使用,達到學以致用的目的。

本課程系列適合於:

l從事iOS開發2-3年的中高階技術人員、技術經理

liOS新技術有興趣學習和研究的開發人員

本課程系列將幫助初中級學員快速成長,掌握iOS Runtime技術涉及的方方面面,幫助高階學員在專案中創造性的使用這門技術。

二、培訓大綱(1天)

1 NSObject

lweak

lAutoreleasePool

2 Class的內部結構

lClass內部成員

lMetaClass

lSELIMP

l訊息轉發

nMethod Resolution

nFast Forwarding

nNormal Forwarding

3 自省和Method Swizzling

l自省

lMethod Swizzling

l關聯物件

4 使用場景

lAOP

l代理模式

l日誌

lPVUV

l熱修復原理簡介

相關推薦

培訓課程11iOS Runtime實戰

iOS Runtime實戰 一、簡介 本課程結合講師多年來對iOS Runtime技術的潛心研究,以及在千萬級使用者的App上長期實踐經驗,整理而成。本課程從NSObject和Class講起,然後會介紹本課程的核心內容——自省和Method Swizzling,最後通過iOS

培訓課程13iOS與ReactNative

課程名稱:iOS與ReactNative 一、簡介 本課程講解目前最火的ReactNative技術,從入門講起,包括NodeJS、React和ES6等基礎知識,隨後從淺入深逐步剖析ReactNative,包括ReactNative的原理、實戰以及一些高階實用技巧。 本

培訓課程12iOS深入學習記憶體管理、Block和GCD等

iOS記憶體管理 一簡介 結合講師5年來一線工作經驗,以及對iOS的深刻理解,整理出這個課程,涉及iOS記憶體、Block、GCD和Category的原理和使用。 本課程系列適合於從事iOS開發1-2年的技術人員,幫助他們鞏固基礎,從而在ARC開發環境下高效的使用GCD、Bloc

培訓課程17Java程式碼敏捷之道

第1講 千言萬語聊註釋 按圖索驥 奇葩註釋“賞析” Git提交的學問 第2講 RxJava:函數語言程式設計 從一隻貓的故事說起 背壓 第3講 程式碼瘦身 抽象相同邏輯的程式碼 查詢相似程式碼 AOP一瞥 第4講演算法之美 從集合中刪除元素

培訓課程1Android App企業級開發

Android企業級開發實戰 一.簡介 結合講師5年來一線工作經驗,打造千萬級使用者所需要的Android開發框架,以使用快速迭代的節奏和上百人的團隊協作。每一個知識點的總結,都是講師在踩過坑之後,血和淚的經驗教訓,十分有參考借鑑的意義。 本課程系列適合於從事Android開發1-2

培訓課程10Android外掛化從入門到精通

Android外掛化和熱修復 一.簡介 本課程結合講師多年來對Android外掛化技術的潛心研究,以及在千萬級使用者的App上長期實踐經驗,整理而成。本課程從四大元件的外掛化技術講起,中途會詳細剖析Android系統中與外掛化技術有關的底層概念,最後詳細介紹業界流行很廣的外

培訓課程15Android App熱修復技術

Android外掛化和熱修復 一.簡介 本課程是目前對Android熱修復技術最全的整理和講解,涉及熱修復的歷史、技術流派,詳細介紹了業界各種熱修復技術的原理和接入方式,並對每種熱修復技術的優缺點進行評測。 本課程系列適合於: l從事Android開發2-3年的中高階技術人

培訓課程9Android App效能優化

課程名稱:Android App效能優化 一、簡介 本課程根據講師多年來從事App開發的工作經驗,以及業界若干App的效能優化經驗分享,總結出Android App開發時的若干效能優化經驗,基本覆蓋了Android App效能優化的方方面面。 本課程在講解Android App效能

培訓課程5演算法與資料結構

演算法與資料結構 一、簡介 本課程是基於資料結構來設計的,蒐羅了各大公司面試過程中經常被問到的300多個演算法題目,從中遴選出70道經典題目,分為單鏈表、陣列、二叉樹、棧、數字、邏輯推理等多個類別。 本課程將培訓學員的邏輯思維能力,學以致用,在實戰中編寫出效能更好、邏輯更嚴謹的程式。 本課程適

培訓課程16Android新技術入門和提高

Android新技術入門和提高 一.簡介 # 課程簡介 結合講師5年來一線工作經驗,對Android業界的各種新技術、新思想的持續學習、研究以及付諸實踐,將研究心得和實踐經驗彙編成本課程。 # 受眾定位 本課程系列適合於從事Android開發1-2年的技術人員,幫助他們使

培訓課程2Android與設計模式

課程名稱:Android與設計模式 一、簡介 本課程根據講師十多年的一線工作經驗,涉足.NET、Android、iOS等多個技術領域,對設計模式有獨到的理解。不拘泥於傳統的書本教程,結合Android在實際專案中的運用,幫助學員深刻理解設計模式。 本課程讓學員掌握二十

每天一個linux命令11cat命令

部分 ron linu mv命令 平臺 linux下 一個 介紹 inux 版權聲明更新:2017-05-15博主:LuckyAlan聯系:[email protected]/* */聲明:吃水不忘挖井人,轉載請註明出處! 1 文章介紹 本文介紹了Linux下面

5.創web服務器LNMP

期中架構 web lnmp 創建web服務器(LNMP): # optimization by onekeysed -i ‘s#SELINUX=enforcing#SELINUX=disabled#‘ /etc/selinux/configgrep SELINUX=disabled /etc/s

iptables詳解11iptables之網絡防火墻

允許 什麽 模塊 進行 通訊 usr accep 屬於 兩個 我們一起來回顧一下之前的知識,在第一篇介紹iptables的文章中,我們就描述過防火墻的概念,我們說過,防火墻從邏輯上講,可以分為主機防火墻與網絡防火墻。 主機防火墻:針對於單個主機進行防護。 網絡防火墻:

SpringBoot學習筆記11使用WebSocket構建交互式Web應用程序

-- 文件 基於 ping pan lan tin eas return SpringBoot學習筆記(11):使用WebSocket構建交互式Web應用程序 快速開始   本指南將引導您完成創建“hello world”應用程序的過程,該應用程序在瀏覽器和服務器之間來回發

Python從菜鳥到高手11列表的基礎操作

刪除 範圍 獲取 png john 修改列 以及 列表 -o   列表可以使用所有適用於序列的標準操作,例如索引、分片、連接和乘法。但列表還有一些屬於自己的操作,如修改列表本身的操作,這些操作包括元素賦值、元素刪除、分片賦值以及下一節要將的列表方法。 1

23種設計模式11責任鏈模式

cli 傳遞 處理請求 nco 所有 lean 實現 簡單明了 concrete 定義:使多個對象都有機會處理請求,從而避免了請求的發送者和接收者之間的耦合關系。將這些對象連成一條鏈,並沿著這條鏈傳遞該請求,直到有對象處理它為止。 類型:行為類模式。 類圖: 首先來看

啃碎併發11記憶體模型之重排序

0 前言 在很多情況下,訪問一個程式變數(物件例項欄位,類靜態欄位和陣列元素)可能會使用不同的順序執行,而不是程式語義所指定的順序執行。具體幾種情況,如下: 編譯器 能夠自由的以優化的名義去改變指令順序; 在特定的環境下,處理器 可能會次序顛倒的執行指令; 資料可能在 暫存器、處

SparkStreaming11高階資料來源flume-pull方式生產

1.環境 (1)生產環境 flume1.6.0 spark2.1.0 (2)下載對應依賴 備註:一定要將依賴都放入flume的Flume’s classpath內,否則flume執行有問題。(遇到過坑~~~) (i) Custom sink JAR: groupId =

牛客網線上程式設計11字典序-python

題目描述 給定整數n和m, 將1到n的這n個整數按字典序排列之後, 求其中的第m個數。 對於n=11, m=4, 按字典序排列依次為1, 10, 11, 2, 3, 4, 5, 6, 7, 8, 9, 因此第4個數是2.  對於n=200, m=25, 按字典序排列依次為1 10