2017-02-09 5 views
0

내 객관적인 C 응용 프로그램에서 JSONModel을 사용하고 있습니다. 첫 번째 abBarController에서 JSONModel에 모든 데이터를 가져옵니다. 그럼 다른 viewController 에서이 데이터를 얻을 필요합니다.다른 ViewController에서 JSONModel 데이터를 사용하는 방법은 무엇입니까?

최초의 ViewController :

@implementation FirstViewController 
... 
SecondViewController* infoController = [self.storyboard instantiateViewControllerWithIdentifier:@"secondViewController"]; 
SecondViewController.model = self.model;//Here send the model with data 
[self.navigationController pushViewController:infoController animated:YES]; 
... 
@end 

두 번째의 ViewController를 :

@interface SecondViewController :UIViewController{ 
MyModel *model; 
} 

@property MyModel *model; 

이 계속 더 나은 형태가 내가 좋아하는 다른 사람의 viewControllers이 데이터를 보내려고 해요 데이터 모델을 인스턴스화하고 속성에서 보내지 않고 다른 viewController에서 모델 데이터를 가져 옵니까?

+0

는 모델 클래스에서 객체를 공유하고의 ViewController에 액세스 다음 ID 객체에서 JSON 객체를 설정 만들기. –

+0

싱글 톤을 사용하여 모델 데이터를 설정하거나 가져옵니다. –

답변

0

싱글 톤 클래스를 사용하여 모델 속성을 만들 수 있습니다. 다른 viewController에서는 싱글 톤 인스턴스를 통해 모델에 액세스 할 수 있습니다. http://www.idev101.com/code/Objective-C/singletons.html

+0

응용 프로그램의 메모리에 싱글 톤을 사용하는 것이 비효율적 일 수 있습니까 ?? – user3745888

+0

메모리에 대해 걱정하지 마십시오. 그들은 아주 작다. – Dan

0

참조하거나 .H 객체 클래스하는 .m에서

@interface FirstModel : NSObject{ 
} 
@property(nonatomic,strong)NSMutableArray *productsArray; 

에서 PLIST 또는 데이터베이스

1

만들기 객체 클래스

를 사용하여 로컬 파일로 보관할 수 있습니다 객체 클래스

-(id)init{ 
    self=[super init]; 
    if (self) { 

     _productsArray=[[NSMutableArray alloc]init]; 

    } 
    return self; 
} 
TableviewViewcontroller .H 파일에서 가져 오기 두 개체 클래스를 다른 객체 클래스

@interface SecondModel : NSObject 
@property (nullable,nonatomic, retain) NSString *name; 
@end 

을 만들고하는 .m 파일 // 셀에 다음과 같은 코딩

@property(nonatomic,strong)FirstModel *firstListObject; 

를 삽입 16,

for rowAt 인덱스 경로

당신은 당신이 필요로하는 곳이 객체 클래스 액세스 할 수 있습니다
SecondModel *prodObj=_firstListObject.productsArray[indexPath.item]; 
cell.productNameLabel.text=prodObj.name; 

...