如何在 Swift 3 中表达一个空的 URL?
How do I express an empty URL in Swift 3?
我有一个 iOS
项目。我正在努力使用 Xcode 8
,现在 Swift 3
。在我开始将项目从 Swift 2
转换为最新项目之前,我的 AppDelegate
中有以下内容:
func application(app: UIApplication, openURL url: NSURL, options: [String : AnyObject]) -> Bool {
// Transfer incoming file to global variable to be read
if url != "" {
// Load from Mail App
incomingFileTransfer = url
incomingStatus = "Incoming"
} else {
// Regular Load
print("App Delegate: No incoming file")
incomingFileTransfer = nil
}
return true
}
效果很好,它会查看应用程序是否正在打开传入的 PDF 类型文件。我有与我的应用关联的 PDF 文件,可以在我的应用中打开它们。
我使用迁移工具帮助将我的代码转换为新的 Swift 3
代码。
它转换了我在 AppDelegate
中的代码并将其更改为:
func application(_ app: UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey : Any]) -> Bool {
// Transfer incoming file to global variable to be read
if url != "" {
// Load from Mail App
incomingFileTransfer = url
incomingStatus = "Incoming"
} else {
// Regular Load
print("App Delegate: No incoming file")
incomingFileTransfer = nil
}
return true
}
但是它给出了错误:
Binary operator '!=' cannot be applied to operands of type 'URL' and
'String'
我理解 'open url' 是一个 NSURL
现在是一个类型 URL
。现在如何在Xcode8和Swift3中表达一个空的URL?我上网查了一下,找不到任何相关信息?
感谢您的帮助和建议。
尝试用URL
的absoluteString
属性来比较是否为空。
if url.absoluteString != "" {
}
else {
}
注意:如果你只是想检查是否为空,那么连击使用isEmpty
属性 of String
在你的情况下它看起来像 if !url.absoluteString.isEmpty {
我有一个 iOS
项目。我正在努力使用 Xcode 8
,现在 Swift 3
。在我开始将项目从 Swift 2
转换为最新项目之前,我的 AppDelegate
中有以下内容:
func application(app: UIApplication, openURL url: NSURL, options: [String : AnyObject]) -> Bool {
// Transfer incoming file to global variable to be read
if url != "" {
// Load from Mail App
incomingFileTransfer = url
incomingStatus = "Incoming"
} else {
// Regular Load
print("App Delegate: No incoming file")
incomingFileTransfer = nil
}
return true
}
效果很好,它会查看应用程序是否正在打开传入的 PDF 类型文件。我有与我的应用关联的 PDF 文件,可以在我的应用中打开它们。
我使用迁移工具帮助将我的代码转换为新的 Swift 3
代码。
它转换了我在 AppDelegate
中的代码并将其更改为:
func application(_ app: UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey : Any]) -> Bool {
// Transfer incoming file to global variable to be read
if url != "" {
// Load from Mail App
incomingFileTransfer = url
incomingStatus = "Incoming"
} else {
// Regular Load
print("App Delegate: No incoming file")
incomingFileTransfer = nil
}
return true
}
但是它给出了错误:
Binary operator '!=' cannot be applied to operands of type 'URL' and 'String'
我理解 'open url' 是一个 NSURL
现在是一个类型 URL
。现在如何在Xcode8和Swift3中表达一个空的URL?我上网查了一下,找不到任何相关信息?
感谢您的帮助和建议。
尝试用URL
的absoluteString
属性来比较是否为空。
if url.absoluteString != "" {
}
else {
}
注意:如果你只是想检查是否为空,那么连击使用isEmpty
属性 of String
在你的情况下它看起来像 if !url.absoluteString.isEmpty {