온라인 데이터베이스에서 가져온 데이터 테이블을 표시하는 UIViewController가 있습니다. 나는이 데이터의 당기기를 처리하는 싱글 톤 관리자가있다 과은 테이블에 필요한 데이터를 제공한다.속성이 블록에 포함되면 응용 프로그램이 중단됩니다.
는 뷰 컨트롤러가-viewDidLoad
에서
-refreshDataSource
를 호출하지만, 그 동안 업데이트를 요청
@property (nonatomic) NSArray *dataArray;
...
- (void)refreshDataSource
{
[AClass fetchInBackgroundWithCompletionHandler:^(NSArray *objects) {
self.dataArray = [NSArray arrayWithArray:objects];
}
}
...
- (NSArray *)tableViewDataSource
{
return self.dataArray;
}
이 -tableViewDataSource로 지정하여 관리자의 캐시 데이터와의 jQuery과 제공 :
이
은 관리자가 작동하는 방법의 예입니다 .처음 뷰 컨트롤러가 나타날 때 모든 것이 정상입니다. 두 번째로 동일한보기 컨트롤러를 제공하려고하면 앱이 중단됩니다. 네트워크 요청이 실행되지 않습니다.
유일한 수정 사항은 내 -refreshDataSource
전화를 -viewDidAppear:
(으)로 이동하는 것입니다. 그러나 그것은 왜 이런 일이 일어나고 나에게 불쾌감을 안겨주는 지 나에게 가려움을 안겨줍니다.
누구든지 도움이되거나 도움이 될만한 의견이 있으면 도움이 될 것입니다.
'dataArray'의'@ property' 선언에'retain'이 표시되지 않습니다. –
@ s.bandara ARC에서 객체 속성의 기본값은 strong – MaxGabriel
입니다. 맞아요, 제 프로젝트에서 ARC를 사용하고 있다고 언급 했어야합니다. – Ricky