如何在不同的ViewControllers中使用JSONModel数据?

时间:2017-02-09 09:14:25

标签: ios objective-c xcode uiviewcontroller jsonmodel

我在我的目标c应用程序中使用JSONModel。我在第一个abBarController中获取了所有数据到我的JSONModel。然后我需要在其他viewController中获取此数据。我正在尝试将此数据发送到其他viewControllers,如:

First 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;

有一种更好的形式可以保持这个数据模型的实例化并从另一个viewController获取模型数据而不在属性中发送它吗?

3 个答案:

答案 0 :(得分:1)

创建对象类

在.h对象类

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

在.m对象类

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

        _productsArray=[[NSMutableArray alloc]init];

    }
    return self;
}

创建另一个对象类

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

在TableviewViewcontroller .h文件中 导入两个Object类并插入以下编码

@property(nonatomic,strong)FirstModel *firstListObject;

在.m文件中 //用于rowAt Indexpath的单元格

SecondModel *prodObj=_firstListObject.productsArray[indexPath.item];
cell.productNameLabel.text=prodObj.name;

您可以在任何需要的地方访问此对象类...

答案 1 :(得分:0)

您可以使用单例类,创建模型属性。 在另一个viewController中,您可以通过singleton实例访问您的模型。参考http://www.idev101.com/code/Objective-C/singletons.html

答案 2 :(得分:0)

或者您可以使用plist或基于数据的

将其存档到本地文件