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