[解決済み] Objective-Cは構造体の使用を禁じていますか?
2022-02-15 04:55:53
質問
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を連結するためのショートカット集
-
[解決済み] クラス 'test_coredataAppDelegate' の重複したインターフェイス宣言
-
[解決済み] Objective-Cの定数
-
[解決済み] Objective-Cで乱数を発生させる
-
[解決済み] Objective-Cで、ある文字列が他の文字列を含んでいるかどうかを調べるにはどうすればよいですか?
-
[解決済み] C++でクラスと構造体はいつ使い分けるべきか?
-
[解決済み] Objective-Cのtypedef enumとは何ですか?
-
[解決済み] SwiftからObjective-Cのコードを呼び出すにはどうしたらいいですか?
-
[解決済み] ミュータブル構造体はなぜ "悪 "なのか?
-
[解決済み】Objective-Cのブロックをプロパティとして使用することはできますか?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] どのような場合に@synthesizeを明示的に使用する必要がありますか?
-
[解決済み] NSNumberをNSStringに変換する方法
-
[解決済み] Objective-CでNSNumberをintに変換する。
-
[解決済み] デバイス用にコンパイルするとApple Mach-Oのリンカーエラーが発生する。
-
[解決済み] Xcodeでコンソールに何かを印刷するには?
-
[解決済み] クラスメソッドとインスタンスメソッドの違いは何ですか?
-
[解決済み] Objective-CでNSArrayを逆引きするにはどうしたらいいですか?
-
[解決済み】セマンティックな問題。プロパティの合成ゲッターは、「所有する」オブジェクトを返すためのCocoa命名規則に従っている。
-
[解決済み】タイトル変更時に不要なUIButtonのアニメーションを停止させる方法は?
-
[解決済み】Swiftコンパイラーエラー。"フレームワークモジュール内の非モジュラーヘッダー"