Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/97.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 数据源(来自模型)未在视图控制器中加载_Ios_Objective C_Arrays_Model View Controller_Uilabel - Fatal编程技术网

Ios 数据源(来自模型)未在视图控制器中加载

Ios 数据源(来自模型)未在视图控制器中加载,ios,objective-c,arrays,model-view-controller,uilabel,Ios,Objective C,Arrays,Model View Controller,Uilabel,我在模型(model.h和model.m)中有一个由字符串填充的NSArray,数组在TableViewController中填充字符串,在该数组中,我可以成功地编辑保存并访问我模型中的数据。我想让字符串也出现在UILabel的ViewController中,但它只显示(null),这意味着我没有成功地从模型中访问数据,有人能帮忙吗 PS:我没有显示TableView的代码,因为它工作正常 这是我的密码: Model.h: #import <Foundation/Foundation.h&

我在模型(model.h和model.m)中有一个由字符串填充的
NSArray
,数组在
TableViewController
中填充字符串,在该数组中,我可以成功地
编辑
保存
访问我模型中的数据。我想让字符串也出现在
UILabel
ViewController
中,但它只显示(null),这意味着我没有成功地从模型中访问数据,有人能帮忙吗

PS:我没有显示TableView的代码,因为它工作正常

这是我的密码:

Model.h:

#import <Foundation/Foundation.h>

@interface Model : NSObject<NSCoding>

@property (strong, nonatomic) NSArray *array;



+(NSString *)getPathToArchive;
+(Model *)getModel;
+(void)saveModel:(Model *)aModel;


@end
#import "Model.h"

@implementation Model

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

+(NSString *)getPathToArchive {
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *docsDir = [paths objectAtIndex:0];
    return [docsDir stringByAppendingPathComponent:@"model.model"];
}

+(Model *)getModel{
    return [NSKeyedUnarchiver unarchiveObjectWithFile:[Model getPathToArchive]];
}

+(void)saveModel:(Model *)aModel {
    [NSKeyedArchiver archiveRootObject:aModel toFile:[Model getPathToArchive]];
}

-(void)encodeWithCoder:(NSCoder *)anEncoder {
    [anEncoder encodeObject:self.model forKey:@"array"];


}

-(id)initWithCoder:(NSCoder *)aDecoder {
    self = [super init];
    if(self) {
        self.model = [aDecoder decodeObjectForKey:@"array"];

    }
    return self;
}

@end
ViewController.h

#import <UIKit/UIKit.h>

@class Model;

@interface ViewController : UIViewController

@property (strong,nonatomic) Model *model;


@end

viewDidLoad
中更改以下行:

    [Model getModel];


您的模型确实在
getModel
方法中加载数据。但是您仍然必须将此方法返回的
Model
实例分配给
ViewController
Model
属性。否则,您将无法访问
模型

您在
视图控制器
中在哪里设置
self.Model
?“viewDidLoad”中似乎是
nil
,我应该在ViewController中的何处以及如何设置self.model?我认为[Model getModel]将完成从模型“加载”数据的工作。
    [Model getModel];
   self.model = [Mode getModel];