いくつかの変数をサブクラスUIView
化して使用することにより、カスタム ビューを実装しています。@IBInspectable
そのうちの 2 つは UIImage です。コードでそれらのいずれかにアクセスしようとすると、インターフェイス ビルダーがクラッシュし、次のメッセージが表示されます。
file:///PathToMyProject/MyProject/Pod/Classes/UI/View/MyView.xib: error: IB Designables: Failed to update auto layout status: The agent crashed
と
file:///PathToMyProject/MyProject/Pod/Classes/UI/View/MyView.xib: error: IB Designables: Failed to render instance of MyView: The agent crashed
シミュレーターとデバイスですべてが正常に動作します。image_one.png
アセットにあると仮定して、それを再現する方法は次のとおりです。
import UIKit
@IBDesignable
class MyView: UIView {
@IBInspectable
var anImage: UIImage = UIImage(named: "image_one")!
}
実際、インターフェイス ビルダー エージェントは、この変数の初期化時にクラッシュします。と書くvar anImage: UIImage! = UIImage(named: "image_one")
と、この変数にアクセスするときにエージェントがクラッシュします (前述のとおり)。
何か案は?