[解決済み] Objective-Cでオブジェクトをキャストする方法
2022-02-10 11:59:46
質問
VB.NETでオブジェクトをキャストするのと同じように、objective-cでオブジェクトをキャストする方法はありますか?
例えば、以下のようなことをやろうとしています。
// create the view controller for the selected item
FieldEditViewController *myEditController;
switch (selectedItemTypeID) {
case 3:
myEditController = [[SelectionListViewController alloc] init];
myEditController.list = listOfItems;
break;
case 4:
// set myEditController to a diff view controller
break;
}
// load the view
[self.navigationController pushViewController:myEditController animated:YES];
[myEditController release];
しかし、SelectionListViewControllerがFieldEditViewControllerを継承しているにも関わらず、SelectionListViewControllerクラスには「list」プロパティが存在し、FieldEditViewControllerにはないのでコンパイルエラーになる。
これは理にかなっていますが、myEditController を SelectionListViewController にキャストして、「list」プロパティにアクセスできるようにする方法はありますか?
例えばVB.NETではこうします。
CType(myEditController, SelectionListViewController).list = listOfItems
ありがとうございました。
解決方法は?
Objective-CはC言語のスーパーセットなので、タイプキャストはC言語と同じように機能することを忘れないでください。
myEditController = [[SelectionListViewController alloc] init];
((SelectionListViewController *)myEditController).list = listOfItems;
関連
-
[解決済み] C言語:拡張子「.mm」は何の略ですか?
-
[解決済み] Objective-CでNSStringsを連結するためのショートカット集
-
[解決済み] Objective-Cの定数
-
[解決済み] Objective-Cで乱数を発生させる
-
[解決済み] Objective-Cで、ある文字列が他の文字列を含んでいるかどうかを調べるにはどうすればよいですか?
-
[解決済み] Objective-Cのtypedef enumとは何ですか?
-
[解決済み] SwiftからObjective-Cのコードを呼び出すにはどうしたらいいですか?
-
[解決済み] Objective-Cでデリゲートを作成するにはどうしたらいいですか?
-
[解決済み] Objective-Cで、オブジェクトの種類をテストするにはどうしたらいいですか?
-
[解決済み] ARCおよびブリッジドキャスト
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】何が原因か。switch文からこのcaseラベルにジャンプできない [重複]。
-
[解決済み] dispatch_after - GCD in Swift?
-
[解決済み] Objective-Cは構造体の使用を禁じていますか?
-
[解決済み] アーキテクチャ i386 のシンボルが見つかりませんでした。
-
[解決済み] Xcodeでコンソールに何かを印刷するには?
-
[解決済み] インスタンスに送信されたセレクタが認識されない」を解決するには?
-
[解決済み] C言語で純粋にiOSアプリを書く方法
-
[解決済み】isEqual:とハッシュをオーバーライドするためのベストプラクティス
-
[解決済み】タイトル変更時に不要なUIButtonのアニメーションを停止させる方法は?
-
[解決済み] Objective-Cには強い型付けのコレクションがありますか?