[解決済み] Objective-Cは構造体の使用を禁じていますか?
2022-02-14 03:18:04
質問
Objective Cの初心者です
単純な
struct
となり
arc forbids objective-c objects in struct
ARCを見上げる Objective Cのシンタックスを定義した仕様のようですが、正しいですか?
次に
struct
が許されない場合は?
ありがとうございました。
編集:サンプルとしていくつかのコード
@implementation Cities {
// The goal is to have a struct that holds information about a city,
// like when a person started and ended living there.
// I was trying to make this struct an instance variable of the Cities
// class
// XCode doesn't like the below struct definition
struct City
{
NSString *name;
int *_startYear;
int *_endYear;
};
}
解決方法は?
<ブロッククオートアークフォービッド objective-c オブジェクト 構造体
構造体はC言語の構造体です。コンパイラは、非常にわかりやすい言葉で、構造体の中にObjective-Cのオブジェクトを持つことはできないと言っているのであって、構造体が違法だと言っているわけではありません。
通常のC言語の構造体を使うのは自由です。
あなたの例では、Objective-Cのオブジェクトへの参照を置こうとしています。
NSString
の中にある。
struct
これはARCと互換性がありません。
構造体は、一般に単純なデータ構造に使用されます。Objective-Cのコードでよく目にするのは、以下のような例です。
CGPoint
と
CGRect
.
CGPoint
は、次のようになります。
struct CGPoint
{
CGFloat x;
CGFloat y;
};
A
CGFloat
は、単に
double
2次元空間における点を表現するものです。構造体には、他の構造体へのポインタ、C-配列、および以下のような標準的なCデータ型が含まれます。
int
,
char
,
float
... また、Objective-Cのクラスは構造体を含むことができますが、その逆はうまくいきません。
構造体もかなり複雑になりますが、これは非常に幅広いトピックなので、Googleを使って研究するのが一番です。
関連
-
[解決済み] Objective-CでNSStringsを連結するためのショートカット集
-
[解決済み] Objective-Cの定数
-
[解決済み] Objective-Cで乱数を発生させる
-
[解決済み] Objective-Cで、ある文字列が他の文字列を含んでいるかどうかを調べるにはどうすればよいですか?
-
[解決済み] C++でクラスと構造体はいつ使い分けるべきか?
-
[解決済み] Objective-Cのtypedef enumとは何ですか?
-
[解決済み] SwiftからObjective-Cのコードを呼び出すにはどうしたらいいですか?
-
[解決済み] ミュータブル構造体はなぜ "悪 "なのか?
-
[解決済み】Objective-Cのブロックをプロパティとして使用することはできますか?
-
[解決済み】なぜObjective-Cのファイルには.mという拡張子がついているのですか?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] C言語:拡張子「.mm」は何の略ですか?
-
[解決済み] UILabelのフォントサイズ?
-
[解決済み] Objective-Cでオブジェクトをキャストする方法
-
[解決済み] クラスメソッドとインスタンスメソッドの違いは何ですか?
-
[解決済み] 「NSString *' 型のパラメータに 'const NSString *' を送ると修飾子が破棄される」警告
-
[解決済み】NSArrayをアルファベット順に並べるには?
-
[解決済み】浮動小数点以下が2桁しか表示されないようにする
-
[解決済み】Cocoaでスタックトレースをコンソール/ログに出力するにはどうすればいいですか?
-
[解決済み】idの代わりにinstancetypeを使い始めるのは有益でしょうか?
-
[解決済み】UITableViewからセパレータラインを削除する方法はありますか?