ObjC访问C函数内的属性

时间:2014-03-09 01:34:00

标签: objective-c c properties

为什么我不能在C函数中访问我的类的属性? 这就是我的意思:

Image

这是我的代码:

@interface MandelGenerator : NSWindow <NSWindowDelegate>
{
    //Displays the image
    IBOutlet JSImageView *imageView;
}
@end

/

#import "MandelGenerator.h"

@implementation MandelGenerator

void test(void) {
    imageView = nil;
}

@end

1 个答案:

答案 0 :(得分:3)

与类的实例方法不同,C函数与Objective-C类没有关联。只是在同一个.m文件中,因为类没有任何意义 - 与实例方法不同,它通过向它发送消息来实现 on 实例(从而提供了知道所需的上下文< em>哪个可能作为MandelGenerators实例属性存在的所有imageViews的imageView),C函数不会被调用任何东西,只能“看到”作为参数传递给它的全局变量和变量。如果您希望这样做,则需要将该C方法更改为

 void test(MandelGenerator* generator) {
     generator.imageView = nil;
}

假设imageView实际上是一个属性(对我来说它看起来像一个伊娃)。