Classes

The following classes are available globally.

FWAutoloader

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

    Note

    本方案采用objc扩展方法实现,相对于全局扫描类方案性能高(1/200),使用简单 使用方法:新增FWAutoloader扩展objc类方法,以load开头即会自动调用,注意方法名不要重复,建议load+类名+扩展名
    See more

    Declaration

    Objective-C

    
    @interface FWAutoloader : NSObject
    @objc extension Autoloader: AutoloadProtocol
  • 配置基类,使用时继承即可

    默认自动查找模板类名格式优先级如下:

    1. 当前模块.[配置类]+Template
    2. 主项目.[配置类]+Template
    3. 当前模块.[配置类]+DefaultTemplate
    See more

    Declaration

    Objective-C

    
    @interface FWConfiguration : NSObject

FWLogger

  • 日志记录类。支持设置全局日志级别和自定义FWLoggerPlugin插件

    See more

    Declaration

    Objective-C

    
    @interface FWLogger : NSObject
  • UIAppearance扩展类,支持任意NSObject对象使用UIAppearance能力

    Note

    系统默认时机是在didMoveToWindow处理UIAppearance

    See more

    Declaration

    Objective-C

    
    @interface FWAppearance : NSObject

FWLayoutChain

FWLocationManager

  • 位置服务

    Note

    注意:Info.plist需要添加NSLocationWhenInUseUsageDescription项 如果请求Always定位,还需添加NSLocationAlwaysUsageDescription项和NSLocationAlwaysAndWhenInUseUsageDescription项 iOS11可通过showsBackgroundLocationIndicator配置是否显示后台定位指示器
    See more

    Declaration

    Objective-C

    
    @interface FWLocationManager : NSObject

FWLoggerPluginImpl

FWMediator

FWModuleBundle

  • 业务模块Bundle基类,各模块可继承

    See more

    Declaration

    Objective-C

    
    @interface FWModuleBundle : NSObject

FWPluginManager

  • 插件管理器类。支持插件冷替换(使用插件前)和热替换(先释放插件)

    Note

    和Mediator对比如下: Plugin:和业务无关,侧重于工具类、基础设施、可替换,比如Toast、Loading等 Mediator: 和业务相关,侧重于架构、业务功能、模块化,比如用户模块,订单模块等
    See more

    Declaration

    Objective-C

    
    @interface FWPluginManager : NSObject

FWWeakProxy

  • 弱引用代理类,用于解决NSTimer和CADisplayLink中的循环引用target问题(默认NSTimer会强引用target,直到invalidate)

    See more

    Declaration

    Objective-C

    
    @interface FWWeakProxy : NSProxy

FWWeakObject

  • 弱引用对象容器类,用于解决关联对象weak引用等

    See more

    Declaration

    Objective-C

    
    @interface FWWeakObject : NSObject

FWBlockProxy

FWDelegateProxy

  • 事件协议代理基类,可继承重写事件代理方法

    See more

    Declaration

    Objective-C

    
    @interface FWDelegateProxy : NSObject

FWMulticastDelegate

FWRouterContext

  • URL路由上下文

    See more

    Declaration

    Objective-C

    
    @interface FWRouterContext : NSObject <NSCopying>

FWRouter

FWState

  • 状态类

    See more

    Declaration

    Objective-C

    
    @interface FWState : NSObject

FWStateEvent

FWStateTransition

FWStateMachine

FWTask

  • 任务基类

    See more

    Declaration

    Objective-C

    
    @interface FWTask : NSOperation

FWTaskManager

  • 任务管理器,兼容NSBlockOperation和NSInvocationOperation

    See more

    Declaration

    Objective-C

    
    @interface FWTaskManager : NSObject

FWThemeManager

  • 主题管理器,iOS13+可跟随系统改变

    Note

    框架默认只拦截了UIView|UIViewController|UIScreen|UIImageView|UILabel类,满足条件会自动触发fwThemeChanged;如果不满足条件或者拦截未生效,需先设置主题上下文fwThemeContext才能生效 注意事项:iOS13以下默认不支持主题切换;如需支持,请使用fwColor相关方法
    See more

    Declaration

    Objective-C

    
    @interface FWThemeManager : NSObject
  • 主题动态对象,可获取当前主题静态对象

    See more

    Declaration

    Objective-C

    
    @interface FWThemeObject<__covariant ObjectType> : NSObject

ABVersion

  • AB测试版本类

    ABKit

    See more

    Declaration

    Swift

    @objc(FWABVersion)
    @objcMembers
    public class ABVersion : NSObject

ABSplitTest

  • AB分离测试类

    See more

    Declaration

    Swift

    @objc(FWABSplitTest)
    @objcMembers
    public class ABSplitTest : NSObject

ABConditionalTest

  • AB条件测试类

    See more

    Declaration

    Swift

    @objc(FWABConditionalTest)
    @objcMembers
    public class ABConditionalTest : NSObject

ABDefaultRepository

FW

  • FW

    全局包装器(因struct只读,只能用class)

    自定义FW为任意名称(如APP)示例: public typealias APP = FW 使用示例: APP.safeString(object)

    See more

    Declaration

    Swift

    public class FW

Benchmark

  • 时间调试器

    See more

    Declaration

    Swift

    @objc(FWBenchmark)
    @objcMembers
    public class Benchmark : NSObject

Wrapper

  • 属性包装器(因struct只读,只能用class)

    See more

    Declaration

    Swift

    public class Wrapper<Base>

Promise

  • 框架约定类

    See more

    Declaration

    Swift

    @objc(FWPromise)
    @objcMembers
    public class Promise : NSObject

AuthorizeManager

  • 权限管理器。由于打包上传ipa时会自动检查隐私库并提供Info.plist描述,所以默认关闭隐私库声明

    开启指定权限方法: Pod项目:添加pod时同时指定 pod ‘FWFramework’, :subspecs => [‘Contacts’]

    See more

    Declaration

    Swift

    @objc(FWAuthorizeManager)
    @objcMembers
    public class AuthorizeManager : NSObject

KeychainManager

  • Keychain管理器

    See more

    Declaration

    Swift

    @objc(FWKeychainManager)
    @objcMembers
    public class KeychainManager : NSObject

NotificationManager

  • 通知管理器

    See more

    Declaration

    Swift

    @objc(FWNotificationManager)
    @objcMembers
    public class NotificationManager : NSObject, UNUserNotificationCenterDelegate

VersionManager

  • 版本管理器

    See more

    Declaration

    Swift

    @objc(FWVersionManager)
    @objcMembers
    public class VersionManager : NSObject

LayoutChain

  • 视图链式布局类。如果约束条件完全相同,会自动更新约束而不是重新添加。 另外,默认布局方式使用LTR,如果需要RTL布局,可通过autoLayoutRTL统一启用

    See more

    Declaration

    Swift

    public class LayoutChain