Objective-C浮点数行为错误(EXC_BAD_ACCESS)

blu*_*lds 1 arrays iphone exc-bad-access objective-c

我在我的一个对象上声明了一个基元数组,似乎无法从外部访问它.我在ObjectiveC上相当新,是否有一些明显的错误?

头文件:

@interface MyObject : NSObject {
    //@public <-- this shouldn't be necessary, right? I have accessors!
    float *d;   
}

@property float *d;
Run Code Online (Sandbox Code Playgroud)

.m文件:

@synthesize d;

-(id) init {
...
    self.d    = (float*) malloc(sizeof(float) * n); //n > 1000
...
}
Run Code Online (Sandbox Code Playgroud)

执行访问的位置:

MyObject* k = [MyObject init];

NSLog(@"%f",k.d[0]);
Run Code Online (Sandbox Code Playgroud)

我在最后一行收到一个EXC_BAD_ACCESS错误,但我似乎无法找到原因.有人看到我失踪的东西吗?

Gar*_*ett 9

你需要分配你的对象!

MyObject *k = [[MyObject alloc] init];
Run Code Online (Sandbox Code Playgroud)