나는 데이터를 사전으로 반환하는 webservice 호출이있는 응용 프로그램이 있습니다. 값을 테이블에로드하기 위해 다른 뷰 컨트롤러에서이 사전에 액세스하려고합니다.두 개의 뷰 컨트롤러간에 사전을 전달 하시겠습니까?
누구든지이 응답 사전을 한보기 컨트롤러에서 다른보기 컨트롤러로 전달하는 방법을 보여줄 수 있습니까?
나는 데이터를 사전으로 반환하는 webservice 호출이있는 응용 프로그램이 있습니다. 값을 테이블에로드하기 위해 다른 뷰 컨트롤러에서이 사전에 액세스하려고합니다.두 개의 뷰 컨트롤러간에 사전을 전달 하시겠습니까?
누구든지이 응답 사전을 한보기 컨트롤러에서 다른보기 컨트롤러로 전달하는 방법을 보여줄 수 있습니까?
AnotherViewController
에 NSDictionary
속성을 정의하고 이전 컨트롤러에서 설정할 수 있습니다. 나는 아래에 간단한 예를 들어 줄 것이다.
//.h
@interface AnotherViewController {
NSDictionary *data;
}
@property(nonatomic,retain) NSDictionary *data;
@end
//.m
@implementation AnotherViewController
@synthesize data;
지금 현재 컨트롤러에서,
AnotherViewController
를 초기화 한 후에 당신은 그것을 발표하기 전에 사전을 설정합니다.
AnotherViewController *controller = [[AnotherViewController alloc] init];
controller.data = myCurrentDictionary;
지금 AnotherViewController
이전 제어기의 값을 갖는 data
특성을 갖는다.
희망이 도움이됩니다.
무언가 (버튼 클릭, viewDidLoad
/viewDidAppear
)가 발생하여 webservice가 호출되었다고 가정합니다. 이 경우 UIViewController
의 참조를 webservice 클래스로 전달하는 것이 가장 적합한 옵션입니다. 이 ViewControllerResponseProtocol
이 같은 방법을 정의 할
id<ViewControllerResponseProtocol> referenceToViewController;
:
-(void)responseFromWebservice:(NSDictionary*)myDictionary;
그래서 때이 같은 뭔가를 당신의 웹 서비스 클래스에 있도록이 관계를 당신이 프로토콜을 만들 것을 명심하십시오 어떤 종류가없는 경우
[referenceToViewController responseFromWebservice:myDictionary];
: 웹 서비스 클래스는 referenceToViewController
에서 NSDictionary
할 수 있습니다 위의 방법을 구축있다 둘 사이의 관계에 대해서는 NSNotificationCenter
을 사용할 수 있습니다.
P.S : 이미 초기 UIViewController
의 웹 서비스에서 NSDictionary
이 이제 새 UIViewController
에 전달하려면 skram의 솔루션은 완벽하게 유효합니다. 나는 그것이 당신이 원하는 것이라고 생각하지 않지만.
함수 또는 NSUserDefaults를 사용하거나 appdelegate 등으로 할당되고 합성 된 사전을 가져 오십시오. – Dhawal
프로토콜을 사용하여 다른 viewcontroller의 데이터에 액세스 해보십시오. OP에 의해 명시된대로 – Leena