在swift中調用方法都是直接點語法出來,不論是加方法(類方法)還是減方法(實例方法)直接點出來。但是筆者今天突然發現之前寫的一個oc時間管理類在swift中點語法不出來單例方法,一直顯示has no member 'manager'。百思不得其解。后來終於發現了問題所在。
原因:
Xcode 限制了 swift 對 OC 初始化相關方法的調用,+ (instancetype)manager;
寫法會被忽略。
解決方案:
使用 Xcode 認可的關鍵字 default
singleton
shared
為前綴聲明方法名。
+ (instancetype)defaultManager; + (instancetype)singleton; + (instancetype)sharedManager;
於是我就把原來的單例方法重新命名了,manager改為defaultManager。
但是這也有個問題,就是找不到defaultManager這個方法,只能找到default方法。
點進去發現default就是defaultManager。
類.default()