在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()