void swizzling_method(class class,sel
orignselector,sel
newselector)
else
}
首先從外部傳進來你所要被替換和替換的selector,呼叫class_getinstancemethod
方法取到它們的method,在if判斷裡面,呼叫class_addmethod
判斷一下orignselector
是不是在這個類裡面實現了,如果在其父類裡實現了,那class_getinstancemethod
返回的是父類方法,那我們最後替換掉的是父類的方法,這並不是我們想要得到的結果。如果已經存在,再用method_exchangeimplementations
方法用新方法替換掉原方法。
這個替換方法可以替換自定義的方法和系統方法。
- (void)viewdidload
- (void)swizzling_viewdidload
+ (void)load
比如我在乙個viewcontrol裡面使用swizzling_viewdidload
替換掉系統的viewdidload
,執行一下程式
替換完成!
Windows PowerShell批量替換檔名
q 假如資料夾有批量相似的檔名,如果檔名不符合需求了,要怎麼改呢,文件可以 ctrl h 一鍵替換字元,系統檔名可不支援 ctrl h 一鍵替換字元,動手能力強的已經乙個個手動在改了 滑稽,你是原始人嘛 如圖 可以通過windows自帶的powershell寫指令碼來實現批量修改檔名 下面來實現一下...
2 替環空格
思路 從前往後替換,後面的字元要不斷往後移動,要多次移動,所以效率低下,時間複雜度 o n2 從後往前,先計算需要多少空間,然後從後往前移動,則每個字元只為移動一次,這樣效率更高一點。時間複雜度o n 1 public class solution 89 int newlength str.leng...
Java的引用傳替
public class sample private static void add a objecta class a結果為 0 1字串有點兒意思 public class sample public static void add string a,string b 結果為 aaaa aaaa...