Autoloader

@objc(ObjCAutoloader)
public class Autoloader : NSObject, AutoloadProtocol, @unchecked Sendable

自动加载器,处理swift不支持load方法问题

本方案采用objc扩展方法实现,相对于全局扫描类方案性能高,使用简单,使用方法: 新增Autoloader objc扩展,以load开头且无参静态方法即会自动调用,方法名建议[load模块名_文件名|类名]

  • Undocumented

    Declaration

    Swift

    public static let shared: Autoloader

Public

  • 自动加载Swift类并调用autoload方法,参数为Class或String

    Declaration

    Swift

    @discardableResult
    public static func autoload(_ clazz: Any) -> Bool
  • 自动加载objc类以load开头且无参静态方法,返回方法列表

    Declaration

    Swift

    @discardableResult
    public static func autoloadMethods(_ aClass: Any) -> [String]
  • 自动加载器调试描述

    Declaration

    Swift

    override public class func debugDescription() -> String

AutoloadProtocol

  • 自动加载load开头objc扩展方法

    Declaration

    Swift

    public static func autoload()