为什么我不能从C函数中访问类的属性?
这就是我的意思:
这是我的代码:
@interface MandelGenerator : NSWindow <NSWindowDelegate>
{
//Displays the image
IBOutlet JSImageView *imageView;
}
@end
/
#import "MandelGenerator.h"
@implementation MandelGenerator
void test(void) {
imageView = nil;
}
@end
最佳答案
与类的实例方法不同,C函数与Objective-C类没有关联。与类相同的.m文件是没有意义的——与实例方法不同,它通过发送消息到实例上调用(从而提供必要的上下文来知道所有可能存在的MyDeVIEW的图像视图,作为MordEng生成器实例的属性),C函数不调用任何东西,只能“看到”全局变量和作为参数传递给它的变量。如果你想这样做,你需要把C方法改成
void test(MandelGenerator* generator) {
generator.imageView = nil;
}
假设
imageView
实际上是一个属性(在我看来它像一个ivar)。关于objective-c - ObjC访问C函数中的属性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22277350/