test.h
-------
struct session {
int a;
int c;
int b;
};
struct session* pEvent;
#import <Foundation/Foundation.h>
@interface test : NSObject {
}
-(void)set;
@end
test.m
--------
#import "test.h"
@implementation test
-(id)init{
pEvent->a=10;
pEvent->c='a';
pEvent->b=20;
return self;
}
-(void)set{
//struct session* pEvent;
//pEvent->a=10;
//pEvent->c='a';
//pEvent->b=20;
NSLog(@"a:%d c:%c b:%d",pEvent->a,pEvent->c,pEvent->b);
}
@end
Я получаю EXC_BAD_ACCESS
исключение времени выполнения, и отладчик указывает на pEvent->a
, когда
объявлено обоими способами внутри метода init или внутри метода set.
Нужно ли инициализировать структуру как pEvent = new session;
?Если объявлено так, я
получаю новую необъявленную ошибку.Затем я попытался с pEvent = [session new];
и pEvent = [[session alloc]init];
Если объявлено так, я получаю необъявленную ошибку сессии.