[解決済み] IBOutletはnilだが、storyboardでは接続されている、Swift
2022-09-10 20:35:50
質問
Swift 1.1 と Xcode 6.2 を使っています。
UIStoryboardに単数でカスタムな
UIViewController
サブクラスがあります。その上に
@IBOutlet
型の接続があります。
UIView
を使用し、そのコントローラから
UIView
サブクラス
をストーリーボード上に作成します。また、そのビューのサブビューにも同様のアウトレットを用意しています。図Aを参照してください。
しかし、実行時には、これらのプロパティはnilになっています(図B)。Interface Builderでアウトレットを接続したことが保証されているにもかかわらずです。
感想 :
- サブクラスのサブクラスを使用しているため、初期化で何かが台無しになる可能性はありますか?私はどのイニシャライザーもオーバーライドしていません。
-
awakeFromNib:
は何らかの理由で呼び出されない - サブビューのサブビューに接続されないのかもしれません。
試してみたこと。
-
マッチング
@IBOutlet
とストーリーボードアイテムの種類に正確に一致します (代わりにUIView
) - プロパティとアウトレットの削除と再追加
図 A*
図B
*の中の不明瞭なコード
Figure A
は
@IBOutlet private var annotationOptionsView: UIView!
@IBOutlet private var arrivingLeavingSwitch: UISegmentedControl!
ありがとうございました。
どのように解決するのですか?
ストーリーボードは、私が追加した UI を認識しませんでした。実行時に、すべての参照はゼロになっていました。そこで、派生データ フォルダーをクリアしたら、これらの接続が再び機能するようになりました。
関連
-
Xcodeエラー解決:コマンド /usr/bin/codesign は終了コード1で失敗しました。
-
[解決済み] 使用しているSwiftのバージョンを確認するにはどうすればよいですか?
-
[解決済み] SwiftからObjective-Cのコードを呼び出すにはどうしたらいいですか?
-
[解決済み] Swiftで#pragmaマーク?
-
[解決済み] Xcode DMGまたはXIPファイルをダウンロードする方法は?
-
[解決済み] Swift Betaのパフォーマンス:配列のソート
-
[解決済み] Swiftベースのアプリケーションは、OS X 10.9/iOS 7以下でも動作しますか?
-
[解決済み] ファイルへ移動...】はありますか?
-
[解決済み] XcodeでLLDBを使用してデバッグ中に変数の値を変更するにはどうすればよいですか?
-
[解決済み] Xcode 4のスキームの名前を変更する方法はありますか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】「Fatal error: Unexpectedly found nil while unwrapping an Optional value "とはどういう意味ですか?
-
原因究明:画像が見つからない
-
[解決済み] OSXのXcodeを最新版にアップデートする方法を教えてください。
-
[解決済み] 'ld: 警告: オプションに対応するディレクトリが見つかりません'
-
[解決済み] ファイルへ移動...】はありますか?
-
[解決済み] 複数のXcodeバージョンをインストールすることはできますか?
-
[解決済み] アプリケーションの実行権限を変更できなかった
-
[解決済み] iOSシミュレータからネットワーク通話を監視する方法
-
[解決済み] iconutilを使用して手動でicnsファイルを作成する方法は?
-
[解決済み] Xcodeで "To Do "コメントをマークするにはどうしたらいいですか?