在单独的.swift文件中使用扩展

use*_*387 9 xcode ios swift

寻找在单独的文件或替代解决方案中使用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()
}
}
Run Code Online (Sandbox Code Playgroud)

将扩展名从此文件中取出并放入新文件会导致崩溃,从而导致此错误:

Program ended with exit code: 9
Run Code Online (Sandbox Code Playgroud)

这个错误说我认为它不存在.在扩展所需的每个单独文件中创建扩展名显然会产生无效重新声明的问题.

提前致谢!

小智 3

如果您将扩展名移动到另一个文件,那么您也必须移动 TestHelper。或者更简单:将 TestHelper 放入扩展中