このカスタムゲッターを使用する場合:
-(NSMutableArray *)queue
{
if (_queue == nil)
{
if ([[NSFileManager defaultManager] fileExistsAtPath:kOfflineQueueFilePath]) {
return [NSKeyedUnarchiver unarchiveObjectWithFile:kOfflineQueueFilePath];
//[NSKeyedUnarchiver unarchiveObjectWithFile:kOfflineQueueFilePath];
}else{
return [[NSMutableArray alloc] init];
}
}
}
_queueは常に(null)です。なぜそれが起こるのか分かりません。
しかし、initで同じコードを使用する場合:
if ([[NSFileManager defaultManager] fileExistsAtPath:kOfflineQueueFilePath]) {
sharedQueue.queue = [NSKeyedUnarchiver unarchiveObjectWithFile:kOfflineQueueFilePath];
}else{
sharedQueue.queue = [[NSMutableArray alloc] init];
}
それは魔法のように機能します。なぜ私はそれを間違っているのですか?