4

いくつかの変数をサブクラス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")と、この変数にアクセスするときにエージェントがクラッシュします (前述のとおり)。

何か案は?

4

3 に答える 3