2011-09-22 2 views
0

현재 iPhone 용 응용 프로그램을 개발 중입니다. appdelegate는 특정보기에서 사용하기 위해 데이터 (예 : NSDictionary)를 캐싱하는 동안 스플래시 화면을 표시합니다. 이 데이터를 필요한 뷰에서 호출하는 가장 좋은 방법은 무엇입니까? 보기에 도달 할 때까지 뷰에서 뷰로 변수를 전달하는 것이 올바른 방법이라고 생각하지 않습니다.앱 전체에서 개체 공유

App Delegate (데이터를 NSDictionary에 캐시해야하는 스플래시 화면 포함) | 보기 A | SubView | 최종보기

감사합니다 (나는 여기 캐시 된 데이터를 사용하려면)

+1

NSCache를 사용할 수 있습니다. [NSCache 사용법] [1]을보십시오. [1] : http://stackoverflow.com/questions/5755902/how-to-use-nscache – lluismontero

답변

1

:-) 당신이 어디에서 액세스 할 수있는 앱 위임의 아이바는 당신이 데이터를 캐싱하고있는 NSDictionary에 만약 귀하의 앱에 다음 줄을 사용하십시오.

myAppDelegate *delegate = (myAppDelegate *)[[UIApplication sharedApplication] delegate]; 
NSDictionary *myData = [delegate cachedData]; 

희망하시는 질문에 답변 해주십시오.

0

앱의 전체 수명 동안 절대로 공개되지 않는 객체가 있고 앱의 절대적으로 어디에서나 액세스 할 수 있도록하려는 경우 (즉, 코드의 아무 곳에서나 간단한 디버그 NSLog가 가능하도록) 그 상태를 출력 할 수있다), 전역 변수가 그 것이다. 전역 변수에 객체에 대한 참조를 할당하십시오. 거의 똑같지 만 미시적으로 느리고 큰 코드를 생성하는 데 신경 쓸 필요가 없다면 적절한 게터를 사용하여 앱 델리게이트의 인스턴스 변수에 할당하십시오.

전역 변수를 사용하는 것은 확장 성이 뛰어나거나 유지 관리가 가능하거나 단위 테스트에 적합하지는 않지만 대부분의 객체가 캡슐화하는 작은 응용 프로그램에는 이상적입니다.

관련 문제