寻找在单独的文件中使用 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
我认为这个错误表明它不存在。在需要扩展的每个单独文件中创建扩展显然会产生无效重新声明的问题。
提前致谢!
如果您将扩展名移动到另一个文件,那么您也必须移动 TestHelper。或者更简单:将 TestHelper 放入扩展中
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)