【发布时间】:2014-06-10 05:11:12
【问题描述】:
寻找在单独文件中使用 Swift 扩展的方法或替代解决方案。仅当将扩展名写入正在使用的同一文件中时,才能创建扩展名。
这是一个有效的 ViewController.swift 示例。
import UIKit
var TestHelper: String = "Start Value"
extension UIView {
var testValue:String{
set{
TestHelper = newValue
}
get{
return TestHelper
}
}
}
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
self.view.testValue = "Some Value"
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
}
从这个文件中取出扩展名并放入一个新文件会导致崩溃并给出以下错误:
Program ended with exit code: 9
这个错误是说我认为它不存在。在需要扩展的每个单独文件中创建扩展显然会产生无效重新声明的问题。
提前致谢!
【问题讨论】:
-
当我尝试这个时,编译器崩溃了。你可能想file a bug。
-
我对扩展内部的属性感到非常不确定。没有stackoverflow.com/a/24115223/1726069的情况吗?