[解決済み] Objective-Cでオブジェクトをキャストする方法
2022-02-10 13:46:49
質問
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;
関連
-
[解決済み] Objective-CでNSStringsを連結するためのショートカット集
-
[解決済み] Objective-Cの定数
-
[解決済み] Objective-Cのnil、NIL、nullの違いについて
-
[解決済み] 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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Objective-Cでオブジェクトをキャストする方法
-
[解決済み] Xcodeでコンソールに何かを印刷するには?
-
[解決済み] iOS 8で位置情報サービスが利用できない
-
[解決済み] ブロック(__block)」というキーワードはどういう意味ですか?
-
[解決済み] Objective-CでNSArrayを逆引きするにはどうしたらいいですか?
-
[解決済み] NSTimerの使い方を教えてください。
-
[解決済み】iOS 7で非推奨のsizeWithFont:の代わりになるものは?
-
[解決済み】ブロック宣言の構文リスト
-
[解決済み】NSStringが特定の文字で始まるかどうかを確認する方法
-
[解決済み] Objective-Cには強い型付けのコレクションがありますか?