提问人:AndersHJ 提问时间:10/19/2022 更新时间:10/19/2022 访问量:490
UIApplicationMain 上的 swift 5 中的 Xcode 警告
An Xcode warning in swift 5 on UIApplicationMain
问:
在我的项目中,有一个主.swift文件,其中包含以下代码:
UIApplicationMain(CommandLine.argc,
UnsafeMutableRawPointer(CommandLine.unsafeArgv)
.bindMemory(
to: UnsafeMutablePointer<Int8>.self,
capacity: Int(CommandLine.argc)),
NSStringFromClass(Application.self),
NSStringFromClass(AppDelegate.self)
)
警告是:
“'UIApplicationMain' 已弃用:使用 UIApplicationMain 的重载,其中第二个参数的类型为 UnsafeMutablePointer<UnsafeMutablePointer?>,这与 CommandLine.unsafeArgv 的类型相同。”
谁能详细说明这个警告在说什么,并举例说明如何按照它的建议去做?
非常感谢,谢谢。
答:
3赞
JeremyP
10/19/2022
#1
我还没有验证这个答案,但它很想发表评论。
这与 CommandLine.unsafeArgv 的类型相同。
这似乎意味着您可以直接使用。即CommandLine.unsafeArgv
UIApplicationMain(CommandLine.argc,
CommandLine.unsafeArgv,
NSStringFromClass(Application.self),
NSStringFromClass(AppDelegate.self)
即使不是,你的返回类型也与预期的略有不同。外部的泛型类型应为可选类型。即bind
UnsafeMutablePointer<UnsafeMutablePointer<Int8>>
UnsafeMutablePointer
UnsafeMutablePointer<UnsafeMutablePointer<Int8>?>
评论
0赞
Martin R
10/19/2022
是的,编译时没有错误或警告。
0赞
JeremyP
10/20/2022
@MartinR但它运行:)
0赞
JeremyP
10/20/2022
@MartinR我想它必须运行,因为它已被接受。
1赞
AndersHJ
10/20/2022
@JeremyP 它运行并且运行时没有错误或警告。谢谢!
评论