Я смущаюсь о том, как использовать общий экземпляр.Неиспользуемый общий экземпляр
Это мой настройки:
+ (ViewController *)sharedInstance {
static ViewController *_sharedInstance = nil;
if (_sharedInstance == nil) {
_sharedInstance = [[ViewController alloc] init];
}
return _sharedInstance;
}
У меня также есть свойство в файле ViewController.h
называется @property (nonatomic, retain) CBPeripheral * selectedPeripheral;
и под интерфейсом в ViewController.m
файле CBPeripheral * _selectedPeripheral;
и я убедитесь, что synthesize them
Поэтому, когда Я делаю это. Оно работает.
[ViewController sharedInstance].selectedPeripheral = _selectedPeripheral;
NSLog(@"_sharedInstance %@", [[ViewController sharedInstance] selectedPeripheral]);
Но если я это сделаю? Не делая линию выше. Он возвращает null? Я думал, что синтез сделает это, поэтому мне не нужно назначать его снова?
NSLog(@"_sharedInstance %@", [[ViewController sharedInstance] selectedPeripheral]);
«И я обязательно их синтезирую» делает что значит точно? Где у вас есть ваш «тестовый» код? – Eiko
@Eiko У меня есть @synthesize selectedPeripheral = _selectedPeripheral; 'У меня есть тестовый код в том же файле. Но я пробовал и в других файлах, и оба они возвращают null. – PictureMeAndYou
Откуда вы получаете '_selectedPeripheral'? Вы устанавливаете ivar в свой метод 'init', и вы переопределили свой метод' -init'? Кроме того, в каком файле находится эта строка: '[ViewController sharedInstance] .selectedPeripheral = _selectedPeripheral;'? – fullofsquirrels