次のサンプルコードを試しました。
#import "Foundation/Foundation.h" @インターフェースの例 { @public NSString* 名; } @終わり @実装例 @end int main() { 例* 私; me->name = @"World"; }
そして、私のコードはこの時点で私を嫌っているようです。フィールドを公開することがどれほど悪い考えかは理解していますが、main() の最後の行でエラーが発生する理由がわかりません。
次のサンプルコードを試しました。
#import "Foundation/Foundation.h" @インターフェースの例 { @public NSString* 名; } @終わり @実装例 @end int main() { 例* 私; me->name = @"World"; }
そして、私のコードはこの時点で私を嫌っているようです。フィールドを公開することがどれほど悪い考えかは理解していますが、main() の最後の行でエラーが発生する理由がわかりません。
ここには多くの間違いがあります
クラスはサブクラスNSObject
にする必要があるため、次のように宣言する必要があります
@interface example : NSObject
{
@public NSString* name;
}
@end
次に、実際に値を取得するためにクラスのインスタンスが必要です。
example *me = [[example alloc] init];
NSLog(@"%@", me->name);
次のクラスは大文字で始まる名前が付けられ、通常はプレフィックスが付いています。
PSExample
次に、このようなインスタンス変数にアクセスしないでください。直接アクセスするのではなく、アクセサーを介してオブジェクトの状態を利用できるようにする必要があります。
me
変数を割り当てたり初期化したりしていません。あなたはおそらくこれを継承してからNSObject
使用したいと思うでしょう:
example *me = [[example alloc] init]
少なくともあなたはalloc
それに必要です。
変数にアクセスする前に、変数を初期化する必要があります。また、からクラスを派生させる必要がありますNSObject
。
#import "Foundation/Foundation.h"
@interface example : NSObject
{
@public NSString* name;
}
@end
@implementation example @end
int main()
{
example* me = [[example alloc] init];
me->name = @"World";
}