代码之家  ›  专栏  ›  技术社区  ›  Vyacheslav

关于文档的字符串到NSString绑定不起作用

  •  0
  • Vyacheslav  · 技术社区  · 4 年前

    文件问题:

    https://docs.swift.org/swift-book/LanguageGuide/StringsAndCharacters.html

    笔记

    Swifts字符串类型与NSString类桥接。 基金会还扩展字符串以公开NSString定义的方法。 不使用强制转换的字符串上的方法。

    有关使用Soundation和COCOA的字符串的更多信息,请参见

    问题是他们的意思是什么?这项功能是否有效?

    import Foundation
    
    class A {
        func doSome() {
            "".isEqual(to: "q")
        }
    }
    

    它不能编译!

    import Foundation
    
    class A {
        func doSome() {
            ("" as? NSString)?.isEqual(to: "q")
        }
    }
    

    但是 as? 是一个 活动

    没有 import Foundation NSString 没有定义。

    1 回复  |  直到 4 年前
        1
  •  1
  •   vadian    4 年前

    A. as 没有疑问或感叹号。

    ("" as NSString).isEqual(to: "q")
    

    还有一个可选的桥接器

    let string : String? = ""
    (string as NSString?)?.isEqual(to: "q")
    
        2
  •  1
  •   Aqeel Ahmad    4 年前

    从“String”到“NSString”的条件转换始终成功

    您无法获取该方法的访问权限 isEqual(to: "q") to: 在字符串中。所以,你可以像这样调用这个方法 isEqual("q") .两种方法相同,只有细微差别。

    String 班但对于这种方法,他们只是消失了标签。

        3
  •  1
  •   Vyacheslav    4 年前