我刚刚使用新的Swift 2安装了Xcode 7,现在我有50多个错误说" stringByAppendingPathComponent"不可用,我应该使用" URLByAppendingPathComponent"代替。我一直在设置所有纹理属性:
let dropTexture = SKTexture(image: UIImage(
contentsOfFile:NSBundle.mainBundle().resourcePath!.stringByAppendingPathComponent(
"P04_rainDrop1.png"))!)
我一直这样做,所以当SKScene改变并且它已经完美运行时,它们不会留在记忆中。然而,直接替换" URLByAppendingPathComponent"不能解决错误。
如何更改此设置以修复错误并获得相同的SKTexture?
答案 0 :(得分:6)
您需要做的就是转换为NSString以恢复stringByAppendingPathComponent
,如下所示:
let dropTexture = SKTexture(image: UIImage(
contentsOfFile:(NSBundle.mainBundle().resourcePath! as NSString).stringByAppendingPathComponent(
"P04_rainDrop1.png"))!)
正如Leo Dabus正确地说的那样,你可以通过添加String的扩展来拯救自己。但是,正如他所建议的那样,你不应该调用NSString(string:)
来生成额外的字符串。刚演员:
extension String {
func stringByAppendingPathComponent(pathComponent: String) -> String {
return (self as NSString).stringByAppendingPathComponent(pathComponent)
}
}