在调用中缺少参数’coder’的参数
我已将自定义UIButton编码为:
class AccountOpeningButton: UIButton { required init?(coder aDecoder: NSCoder) { super.init(coder: aDecoder) ...... } }
我能够使用我的Storyboard成功实例化这个类。 现在,我做了一个UIView并想在我的UIView中添加这个按钮:
var customView:UIView = UIView() customView.frame = CGRect(x: 0, y: 0, width: 350, height: 250) ..... let fromDateBtn:UIButton = AccountOpeningButton()//Error comes here as : Missing Argument for parameter 'coder' in call customView.addSubview(fromDateBtn)
所以请帮助动态重用此代码。
PS:我提到了http://napora.org/nscoder-and-swift-initialization/ 致命错误:使用未实现的初始化程序’init(coder :)’用于类 Class没有实现其超类的必需成员但是没有成功。
================================================== ===================== 尝试过
let fromDateBtn:UIButton = UIButton() as! AccountOpeningButton
抛出CastException 无法将’UIButton’类型的值转换为’.AccountOpeningButton’
替换此行
let fromDateBtn:UIButton = AccountOpeningButton()
有了这个:
let fromDateBtn = AccountOpeningButton()
并在您的课程中添加此方法
override init(frame: CGRect) { super.init(frame: frame) }
您可以拥有多个init方法,但必须遵守inheritance和层次结构规则。 你需要明确地理解所谓的便利初始化器。
有关详细信息,请在此处
- 掩盖CAShapeLayer创build这个奇怪的神器?
- 在UIkit中创建iOS自定义视图
- 以编程方式添加button以执行segue
- Swift用Swift编写的AST。 ∞的第5部分
- iOS 5的UIWebview委托:WebKit在webView中放弃了未捕获的exception:decidePolicyForNavigationAction
- iOS 9 Facebook Access Token在未来的应用程序发布中没有任何价值
- iOS NSMethodSignature(或编码)的NSBlock
- NSOperationQueue内部的NSOperation中的asynchronouscallback从来没有被调用过
- Xcode 5 – clang:错误:链接器命令失败,退出代码为1(使用-v查看调用)