我想在UITextView的扩展中添加闭包属性,所以我使用typealias定义一个闭包:
typealias TextViewHeightDidChangedClosure = (_ currentTextViewHeight:CGFloat)->Void extension UITextView{ func setTextViewHeightDidChanged(textViewHeightDidChanged:TextViewHeightDidChangedBlock){ objc_setAssociatedObject(self,&TextViewHeightDidChangedBlockKey,textViewHeightDidChanged,objc_AssociationPolicy.OBJC_ASSOCIATION_COPY_NONATOMIC) } func textViewHeightDidChanged()->TextViewHeightDidChangedBlock?{ let textChanged : ((CGFloat)->Void) = objc_getAssociatedObject(self,&TextViewHeightDidChangedBlockKey) as! TextViewHeightDidChangedBlock return textChanged } }
但它告诉我一个错误说:
Command failed due to signal: Segmentation fault: 11.
这是错误的图像
谁能告诉我为什么,给我一个深刻有意义的解释,非常感谢你!
如果你声明一个Bool,你也可能有这个错误!在类中的属性,并尝试使用此属性创建三元条件:
var isSomething: Bool! func myFunc() { let value = isSomething ? "something" : "not" }
只需添加!在你的财产
var isSomething: Bool! func myFunc() { let value = isSomething! ? "something" : "not" }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。