에서 업데이트되지 않습니다 : 데이터가 올바르게 반환됩니다속성이 뭔가 가져 클래스에서이 SNIPPIT이 내부 블록
interface:
@property (nonatomic, strong) Firebase *firebase;
@property (nonatomic, strong) NSMutableDictionary *offlineCopy
implementation:
//...connection code...\\
- (void)offlineCopyForEvent:(NSString *)event {
[self.firebase observeSingleEventOfType:FEventTypeValue withBlock:^(FDataSnapshot *snapshot) {
if ([snapshot.value isKindOfClass:[NSDictionary class]]) {
NSDictionary *copy = snapshot.value;
self.offlineCopy = [copy mutableCopy];
NSLog(@"%@", copy);
}
}];
}
를 (로그는 결과를 보여줍니다). 그러나 위 코드를 사용하여 속성을 설정 한 후에 속성에 액세스하려고하면 nil이 반환됩니다. 내가 도대체 뭘 잘못하고있는 겁니까?
방법은 속성을 설정하지 않습니다. 그것은 'self.firebase'를 속성으로 설정된 블록으로 취급합니다. 'self.firebase'는'-offlineCopyForEvent :'가 리턴 된 후 나중에 비동기 적으로 블록을 실행합니다. –
블록의 NSLog가 속성을 읽기 전에 실행되는지 확인할 수 있습니다. 속성은 그때까지 설정되어 있어야합니다. 맞습니까? – dododedodonl