Objective c 无法从Cocoa中的其他类访问变量
我有两个Cocoa类,但无法从一个到另一个访问变量 类别1.h:Objective c 无法从Cocoa中的其他类访问变量,objective-c,cocoa,macos,class,Objective C,Cocoa,Macos,Class,我有两个Cocoa类,但无法从一个到另一个访问变量 类别1.h: @interface MyClass : NSOpenGLView { int myVar; } @property (assign) int myVar; 1.m班 @implementation MyClass @synthetize myVar; ... myVar=5; 类别2.m MyClass *theClass=[MyClass alloc]; nb=theClass.myVar; ==>nb=0(而不是5),
@interface MyClass : NSOpenGLView
{
int myVar;
}
@property (assign) int myVar;
1.m班
@implementation MyClass
@synthetize myVar;
...
myVar=5;
类别2.m
MyClass *theClass=[MyClass alloc];
nb=theClass.myVar;
==>nb=0(而不是5),我确信myVar=5已经执行
我做错了什么
谢谢 在
Class2
中,您正在创建MyClass
的新实例,而不是引用先前已将myVar
属性设置为5的现有实例
还值得一提的是,如果您需要创建MyClass
的新实例(您不需要),这一行:
MyClass *theClass=[MyClass alloc];
应该是:
MyClass *theClass=[[MyClass alloc] init];
发件人:
使用Objective-C创建对象需要两个步骤。您必须:
- 为新对象动态分配内存
- 将新分配的内存初始化为适当的值
id anObject=[[Rectangle alloc]init]代码>
在MyClass2
中,您正在创建一个新的MyClass
实例,该实例与创建MyClass2
实例的第一个实例不同。谢谢。那么,我应该如何引用现有实例呢?Class2函数(mis-)读取值实际上是从Class1开始的。当您创建MyClass2
的实例时,将值或指针传递给MyClass
的实例,以便您可以从MyClass2
访问开始有意义的值!所以现在我在我的类1中,我如何检索它自己的指针?如果我试图通过&myClass1,它不会接受它。谢谢