为什么我不能从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/

10-09 12:48