У меня есть программа objective-C, и я использую ARC (Automatic Reference Counting), она выдает ошибку сегментации в строке 23 (см. программу ниже).
Вопрос 1) Почему возникает ошибка сегментации?
Ниже приведена программа:
#import<Foundation/Foundation.h>
@interface Car : NSObject
@property (weak) NSNumber* doors;
@end
@implementation Car
@synthesize doors;
@end
int main()
{
system("clear");
@autoreleasepool
{
Car *car1 = [[Car alloc] init];
printf("1\n");
NSNumber *d1 = [[NSNumber alloc] initWithInteger: 4];
printf("2\n");
car1.doors = d1; //Segmentation fault.. why ?
printf("3\n");
}
printf("---- end\n");
return(0);
}
Вывод:
1
2
Segmentation fault: 11