【发布时间】:2020-01-08 10:33:13
【问题描述】:
文档问题:
https://docs.swift.org/swift-book/LanguageGuide/StringsAndCharacters.html
注意
Swift 的 String 类型与 Foundation 的 NSString 类桥接。 Foundation 还扩展了 String 以公开 NSString 定义的方法。 这意味着,如果你导入 Foundation,你可以访问那些 NSString 不强制转换的 String 方法。
有关在 Foundation 和 Cocoa 中使用 String 的更多信息,请参阅 String 和 NSString 之间的桥接。
问题是它们是什么意思?这个功能应该起作用吗?
import Foundation
class A {
func doSome() {
"".isEqual(to: "q")
}
}
无法编译!
只有这样才有效:
import Foundation
class A {
func doSome() {
("" as? NSString)?.isEqual(to: "q")
}
}
但as? 是强制转换操作
没有import Foundation NSString 没有定义。
【问题讨论】:
-
这能回答你的问题吗? Calling NSString method on a String in Swift
-
@nayem 没有答案
-
实际上,问题上接受的答案的描述指向您要考虑的事情。没有对您的代码进行类型转换的解决方案。
-
@nayem 问题是关于
import Foundation和文档 -
所以你是说linked question 不可能是重复的,对吧?我认为文档并不完整。
import Foundation带来了什么问题?
标签: swift