我尝试了以下示例代码:
#import "基础/Foundation.h" @接口示例 { @public NSString* 名称; } @结尾 @实现示例 @end 主函数() { 例子*我; 我->名字=@“世界”; }
看来我的代码在这一点上讨厌我。我确实理解公开一个字段是多么糟糕的主意,但我不确定为什么在 main() 的最后一行出现错误。
我尝试了以下示例代码:
#import "基础/Foundation.h" @接口示例 { @public NSString* 名称; } @结尾 @实现示例 @end 主函数() { 例子*我; 我->名字=@“世界”; }
看来我的代码在这一点上讨厌我。我确实理解公开一个字段是多么糟糕的主意,但我不确定为什么在 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";
}