Ниже приведена авария при установке CLBeacon на nil
.EXC_BAD_ACCESS при установке CLBeacon на ноль
CLBeacon *beacon = [[CLBeacon alloc] init];
beacon = nil; // crash
Это не представляется возможным освободить Инициализированный CLBeacon
?
Это может быть воспроизведен путем простого добавления кода выше к новому проекту внутри didFinishLaunchingWithOptions
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
CLBeacon *beacon = [[CLBeacon alloc] init];
beacon = nil; // crash
return YES;
}
Вы не должны создавать какие-либо экземпляры 'CLBeacon'. Он выходит из строя, потому что он не получает должным образом инициализацию, если вы не вызываете 'initWithCoder:'. – dan
@dan Он наследует от 'NSObject', так почему же это? – shallowThought
@shallowThought Какую часть вы спрашиваете? Вы не должны создавать какие-либо экземпляры, потому что в документации не говорится. Он не получает должным образом инициализацию, если вы не вызываете 'initWithCoder:', потому что код, который его правильно инициализирует, находится в 'initWithCoder:'. – dan