Я новичок в Objective-C от iOS 8, поэтому немного знаю о ARC, а мой код находится под ARC.Безопасно ли установить свойство внутри блока
Скажем, у меня есть класс. UserModel обладает такими свойствами, как NSArray и NSString. У меня есть initWithDataSource: данные для выделения init UserModel.
Безопасно ли установить свойство внутри блока, из памяти perspetive? Я чувствую, что мой код вызовет какой-либо цикл сохранения. хотите знать, должен ли я использовать что-то вроде слабого себя или других вещей, чтобы установить свойство?
// в HomeViewController.m
@interface HomeViewController() <UICollectionViewDataSource>
@property (strong, nonatomic) IBOutlet UILabel *HomeLabel;
@property (strong, nonatomic) IBOutlet UICollectionView *ProjectCollectionView;
@property (strong, nonatomic) UserModel * HomeViewUserModel;
@end
/**
* fetch latest projects from remote side
*/
- (void) fetchUserModelFromRemote {
[MySharedInstance getProjectDataOnSuccess:^(id result) {
NSDictionary *data = result[@"data"];
self.HomeViewUserModel = [[UserModel alloc] initWithDataSource:data];
[[NSNotificationCenter defaultCenter] postNotificationName:@"alertCountUpdate" object:self userInfo:@{@"count": (NSNumber *)data[@"unread"]}];
}onFailure:^(id error) {}];
[MyCache cacheProjectListWithData:self.HomeViewUserModel];
}
Я чувствую, что есть сохранить цикл, потому что я доступ к себя внутри блока, так что я должен использовать слабый сам. Есть ли какая-либо передовая практика для установки блока insisde свойства? – Wingzero