相关疑难解决方法(0)

Swift:这里不允许使用没有getter/setter方法的'var'声明

我试图IBOutlet在类的扩展上声明属性.但它给出了错误

此处不允许使用不带getter/setter方法的'var'声明

class ExampleView : UIView
{

}

extension ExampleView
{
    @IBOutlet var btn1, btn2 : UIButton // here I got error.

}
Run Code Online (Sandbox Code Playgroud)

请任何人建议我这样做的正确方法?

ios swift

14
推荐指数
1
解决办法
6863
查看次数

无法从UIView扩展中调用方法

我试图通过扩展我的一个自定义UIViews来调用方法,但我得到错误"类型'MyCustomView'的值没有成员'testMethod'".以下是我的代码

extension MyCustomView {
  func testMethod() {
    //do stuff here
  }
}

//in a separate class from the extension 
class func onMoreOptionsButtonPressed(currentViewController:UIViewController) {
  for view in currentViewController.view.subviews {
    if view.isKindOfClass(MyCustomView) {
      let myCustomView = view as! MyCustomView
      myCustomView.testMethod()
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

显然我可以通过一些不同的方式实现这个功能,但是我更感兴趣的是为什么这个代码不能编译,因为它在逻辑上对我来说是正确的.非常感谢所有帮助.

uiview ios swift swift-extensions

6
推荐指数
1
解决办法
646
查看次数

标签 统计

ios ×2

swift ×2

swift-extensions ×1

uiview ×1