【问题标题】:how to convert UnsafeMutablePointer<UnsafeMutablePointer<Int8>?> to UnsafeMutablePointer<UnsafeMutablePointer<Int8>>!如何将 UnsafeMutablePointer<UnsafeMutablePointer<Int8>?> 转换为 UnsafeMutablePointer<UnsafeMutablePointer<Int8>>!
【发布时间】:2017-09-30 06:14:02
【问题描述】:

我正在使用 swift 4.0 重写我的 iOS 应用程序的 main.swift。 这是我的 main.swift:

UIApplicationMain(CommandLine.argc,
              CommandLine.unsafeArgv
              NSStringFromClass(MyAPP.self),
              NSStringFromClass(AppDelegate.self))

这里有一个编译错误:

Cannot convert value of type 'UnsafeMutablePointer<UnsafeMutablePointer<Int8>?>' to expected argument type 'UnsafeMutablePointer<UnsafeMutablePointer<Int8>>!'

有人知道如何在这里将UnsafeMutablePointer&lt;UnsafeMutablePointer&lt;Int8&gt;?&gt; 转换为UnsafeMutablePointer&lt;UnsafeMutablePointer&lt;Int8&gt;&gt;! 吗?

【问题讨论】:

标签: swift4 uiapplication


【解决方案1】:
UIApplicationMain(
    CommandLine.argc,
    UnsafeMutablePointer(CommandLine.unsafeArgv),
    NSStringFromClass(MyAPP.self),
    NSStringFromClass(AppDelegate.self)
)

【讨论】:

  • 考虑添加一些说明您的代码解决问题的原因。
  • UnsafeMutableRawPointer(CommandLine.unsafeArgv) 已弃用。
【解决方案2】:

请检查:

UIApplicationMain(  
    CommandLine.argc,  
    UnsafeMutableRawPointer(CommandLine.unsafeArgv)  
        .bindMemory(  
            to: UnsafeMutablePointer<Int8>.self,  
            capacity: Int(CommandLine.argc)
        ),  
    NSStringFromClass(MyAPP.self),  
    NSStringFromClass(AppDelegate.self)  
)  

【讨论】:

  • 这是一个弃用的答案
猜你喜欢
  • 1970-01-01
  • 2018-10-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-03-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多