我想在我正在编写的Swift框架中使用XCGLogger。包含此框架的应用程序可能也可能不使用XCGLogger。
处理这种情况的最佳方法是什么?我会使用依赖注入之类的方法让应用程序将XCGLogger实例发送到框架吗?在框架中,我应该在哪里调用XCGLogger的安装方法?
发布于 2016-09-29 02:07:12
我可以在项目和框架中使用相同的记录器,只需在两个项目中引用相同的XCGLogger.defaultInstance()即可。
首先,导入import XCGLogger,然后使用let log = XCGLogger.defaultInstance()实例化项目中的日志实例。
之后,我实例化了我所使用的框架的sharedInstance (根据我的特定用例)。
在框架中,import XCGLogger &在let log = XCGLogger.defaultInstance()声明之前实例化记录器let log = XCGLogger.defaultInstance()。
然后,回到didFinishLaunchingWithOptions of AppDelegate.swift,我做log.setup(...your params...)。
在编写框架的情况下,如果不按您喜欢的方式设置记录器,则需要一些逻辑和自述文件注释。
也许不是最优雅的方式来完成它,但它确实有效。
希望这能有所帮助。
https://stackoverflow.com/questions/35954967
复制相似问题