“String”类型的值没有成员“stringByAppendingPathComponent”[重复]

Posted

技术标签:

【中文标题】“String”类型的值没有成员“stringByAppendingPathComponent”[重复]【英文标题】:Value of type 'String' has no member 'stringByAppendingPathComponent' [duplicate] 【发布时间】:2017-07-27 06:04:10 【问题描述】:

我刚刚将我的项目转换为 Swift 3,我收到一个错误到 directory.path 行:

错误:“String”类型的值没有成员“stringByAppendingPathComponent”。

我已经尝试过let realmPath = (directory as NSString).stringByAppendingPathComponent,但出现以下错误:

无法将“URL”类型的值强制转换为“NSString”类型。

override func awake(withContext context: Any?) 
    super.awake(withContext: context)

    let directory: URL = FileManager.default.containerURL(forSecurityApplicationGroupIdentifier: "group.RazvanJulian.app")!
    let realmPath = directory.path.stringByAppendingPathComponent("db.realm") /* ERROR */

    RLMRealm.setDefaultRealmPath(realmPath)
    realmToken = RLMRealm.default().addNotificationBlock  note, realm in
        self.reloadTableData()
    
    reloadTableData()

请检查并告诉我。

提前谢谢你!

【问题讨论】:

看到这个***.com/questions/35541747/… 你强制使用NSString,它有stringByAppendingPathComponent ,因此不要施放它 【参考方案1】:

stringByAppendingPathComponent 在 Swift 3 中变为 appendingPathComponent。试试这个:

directory.appendingPathComponent("component")

【讨论】:

以上是关于“String”类型的值没有成员“stringByAppendingPathComponent”[重复]的主要内容,如果未能解决你的问题,请参考以下文章

RxSwift:将 RX 绑定添加到 UITextField 时出错:“Binder<String?>”类型的值没有成员“debounce”

“NSMutableDictionary”类型的值在 swift 中没有成员“字符串”

String不可变性

* 类型的值没有成员 'rx'

“任何”的值类型没有成员 'objectforKey' Swift 3 转换

Swift 3 - 'Any?' 类型的值没有成员“valueForKey”