亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

stringByAppendingPathComponent不可用

stringByAppendingPathComponent不可用

慕村9548890 2019-09-03 16:00:05
我的應用程序在Instagram上分享照片,為此,首先將其保存在臨時目錄中:let writePath = NSTemporaryDirectory().stringByAppendingPathComponent("instagram.igo")它正在努力Swift 1.2,但不起作用Swift 2.0。給出錯誤消息是:stringByAppendingPathComponent不可用:改為使用NSURL上的URLByAppendingPathComponent。
查看完整描述

3 回答

?
動漫人物

TA貢獻1815條經驗 獲得超10個贊

看起來stringByAppendingPathComponent在Swift 2.0中刪除了該方法,因此錯誤消息建議使用:


let writePath = NSURL(fileURLWithPath: NSTemporaryDirectory()).URLByAppendingPathComponent("instagram.igo")

更新:


URLByAppendingPathComponent()已取而代之的appendingPathComponent()是:


let writePath = NSURL(fileURLWithPath: NSTemporaryDirectory()).appendingPathComponent("instagram.igo")


查看完整回答
反對 回復 2019-09-03
?
慕神8447489

TA貢獻1780條經驗 獲得超1個贊

它正在工作,NSString你可以像這樣使用它:


extension String {

    func stringByAppendingPathComponent(path: String) -> String {

        let nsSt = self as NSString

        return nsSt.stringByAppendingPathComponent(path)

    }

}

現在您可以使用此擴展程序將您轉換String為NSString第一個然后執行操作。


你的代碼將是:


let writePath = NSTemporaryDirectory().stringByAppendingPathComponent("instagram.igo")

這是另一種使用方法:


extension String {  


    var lastPathComponent: String {  

        return (self as NSString).lastPathComponent  

    }  

    var pathExtension: String {  

        return (self as NSString).pathExtension  

    }  

    var stringByDeletingLastPathComponent: String {  

        return (self as NSString).stringByDeletingLastPathComponent  

    }  

    var stringByDeletingPathExtension: String {  

        return (self as NSString).stringByDeletingPathExtension  

    }  

    var pathComponents: [String] {  

        return (self as NSString).pathComponents  

    }  

    func stringByAppendingPathComponent(path: String) -> String {  

        let nsSt = self as NSString  

        return nsSt.stringByAppendingPathComponent(path)  

    }  

    func stringByAppendingPathExtension(ext: String) -> String? {  

        let nsSt = self as NSString  

        return nsSt.stringByAppendingPathExtension(ext)  

    }  

}

來自HERE的參考資料。


對于swift 3.0:


extension String {

    func stringByAppendingPathComponent1(path: String) -> String {

        let nsSt = self as NSString

        return nsSt.appendingPathComponent(path)

    }

}


let writePath = NSTemporaryDirectory().stringByAppendingPathComponent(path: "instagram.igo")



extension String {


    var lastPathComponent: String {

        return (self as NSString).lastPathComponent

    }

    var pathExtension: String {

        return (self as NSString).pathExtension

    }

    var stringByDeletingLastPathComponent: String {

        return (self as NSString).deletingLastPathComponent

    }

    var stringByDeletingPathExtension: String {

        return (self as NSString).deletingPathExtension

    }

    var pathComponents: [String] {

        return (self as NSString).pathComponents

    }

    func stringByAppendingPathComponent(path: String) -> String {

        let nsSt = self as NSString

        return nsSt.appendingPathComponent(path)

    }

    func stringByAppendingPathExtension(ext: String) -> String? {

        let nsSt = self as NSString

        return nsSt.appendingPathExtension(ext)

    }

}


查看完整回答
反對 回復 2019-09-03
  • 3 回答
  • 0 關注
  • 1966 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號