首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在混合的Xcode项目中使用XCGLogger (Objective-C和Swift)

如何在混合的Xcode项目中使用XCGLogger (Objective-C和Swift)
EN

Stack Overflow用户
提问于 2015-11-16 21:14:24
回答 1查看 314关注 0票数 2

我有一个混合的Xcode项目。我的appDelegate是用Objective-C写的,而我的控制器部分是用Swift写的。在那个项目中可以使用XCGLogger吗?如果是,如何在appDelegate中初始化XCGLogger (例如- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions)?

EN

回答 1

Stack Overflow用户

发布于 2019-03-01 12:34:10

我发现并遇到了同样的问题,希望合并到一个混合的Swift+Objective-C项目中。幸运的是,我找到了这个PR https://github.com/DaveWoodCom/XCGLogger/pull/122,它有助于解决问题。

但是为了check out his PR,我们需要做一些改变:

代码语言:javascript
复制
@objc public class XCGLogWrapper: NSObject {
    @objc public static func log(_ level: LogLevel = LogLevel.debug, functionName: String = #function, fileName: String = #file, lineNumber: Int = #line, logMessage: String) {}

请注意 level 参数的省略。

===

Explanation:

因此,从XCGLogWrapper的这个静态函数

代码语言:javascript
复制
static XCGLogWrapper.log(_:functionName:fileName:lineNumber:logMessage:)

将在Objective-C中转换为:

代码语言:javascript
复制
[XCGLogWrapper log:level functionName: @(__PRETTY_FUNCTION__) fileName: @__FILE__ lineNumber: __LINE__ logMessage: message ]

===

有关更完整的答案,请查看我在PR https://github.com/DaveWoodCom/XCGLogger/pull/122#issuecomment-468136786上的评论

希望它能帮上忙!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33736306

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档