我正在开发一个可以拍照的应用程序。
我最近遇到了一个非常奇怪的行为,这是我的代码。
@interface ViewControllerPhotos : UIViewController
@property (strong) NSString* _albumID;
@end
@implementation ViewControllerPhotos
@synthesize _albumID;
- (void)didReceiveMemoryWarning
{
return;
// commented or not : give the same issue
// [super didReceiveMemoryWarning];
// Release any cached data, images, etc that aren't in use.
}
- (void)viewDidLoad
{
[super viewDidLoad];
[self.navigationItem setHidesBackButton:YES];
self._albumID = [Tools generateUUID];
NSLog(@"new photoset : local UUID \"%@\"", self._photoSetLocalID);
}
@end
我的问题是:如果有内存警告,存储在其中的 UID_albumID
会被遗忘并重新生成,因此我的相册被分成两半。为什么 ?关键字不strong
应该能够保持当前值吗?
还是因为viewDidload
再次调用了?如果是这种情况,那么如何确保我们第一次加载视图以获得正确的 init ?这些方法听起来是为它设计的。