У меня есть Singleton, у которого есть NSMutableArray, содержащий класс, класс содержит надлежащие процедуры NSCoding для кодирования / декодирования данных - все это прекрасно работает.
Однако теперь я хотел бы также сохранить данныеэто не является частью класса (массива), но вместо этого является частью Singleton и не является специфическим для каждого элемента в классе / массиве.Поэтому я добавил соответствующий код в синглтон, включая:
BOOL alarmIsOn;
...
@property(nonatomic,assign) BOOL alarmIsOn;
...
@synthesize alarmIsOn;
...
[encoder encodeBool:alarmIsOn forKey:@"alarmison"];
...
alarmIsOn=[decoder decodeBoolForKey:@"alarmison"];
Когда я сохранял свои данные, я ранее использовал это, которое отлично работает:
GlobalData *globDat=[GlobalData getSingleton];
NSData *encodedObject = [NSKeyedArchiver archivedDataWithRootObject:globDat.allMsgs];
[encodedObject writeToFile:plistPath atomically:YES];
Теперь я хотел быдобавить следующее, чтобы включить дополнительные данные из Singleton:
encodedObject = [NSKeyedArchiver archivedDataWithRootObject:globDat.alarmIsOn];
[encodedObject writeToFile:plistPath atomically:YES];
Однако, это дает мне эту ошибку в XCode:
Automatic Reference Counting Issue: Implicit conversion of 'BOOL' (aka 'signed char') to 'id' is disallowed with ARC
И это предупреждение:
Semantic Issue: Incompatible integer to pointer conversion sending 'BOOL' (aka 'signed char') to parameter of type 'id'
Что я делаю не так и как я могу это исправить?