将自定义类保存在要保存的数组中

时间:2016-12-08 18:00:58

标签: ios objective-c arrays

我正在创建一个应用程序,该应用程序将创建一个用户随后将填写并保存以供以后使用的表单。

@interface DataModel : NSObject

@property (strong, nonatomic) NSString *whiskeyName;
@property (strong, nonatomic) NSNumber *whiskeyRating;
@property (strong, nonatomic) NSString *whiskeyColor;
@property (strong, nonatomic) NSString *whiskeyNose;
@property (strong, nonatomic) NSString *whiskeyFlavors;
@property (strong, nonatomic) NSString *whiskeyFinish;
@property (strong, nonatomic) NSString *whiskeyNotes;

该应用程序将存储这些表单的多个副本(想想Apple的Notes应用程序)。我创建了一个由NSStringsNSNumbers组成的类,但我很难找到一种将它们保存到NSArray以便以后访问的方法。我刚刚开始使用Core Data,但我发现的所有内容都只会保存一个表单。如何在数组中保存多个版本的类以供打开和编辑以供以后使用?对不起,如果问题含糊不清,但我一直在墙上撞到我的头,很难找到合适的解决方案。

1 个答案:

答案 0 :(得分:1)

如果我理解正确,你已经对NSObject进行了细分,并希望将此类的多个实例保存到数组中?如果是这种情况,那么MutableArray应该能够保存任何对象:

// .m file
#import "DataModel.h"

@interface YourViewController
    @property (strong, nonatomic) NSMutableArray *myArray;
@end

@implementation YourViewController

- (void) viewDidLoad {
    NSMutableArray *myArray = [[NSMutableArray alloc] initWithCapacity:numberOfObjectsToStore];

    DataModel *myClassInstance1 = [[DataModel alloc] init];
    myClassInstance1.whiskeyName= @"somevalue";
    myClassInstance1.whiskeyRating= 5;

    DataModel *myClassInstance2 = [[DataModel alloc] init];
    myClassInstance2.whiskeyName= @"someothervalue";
    myClassInstance2.whiskeyRating= 2;

    [myArray addObject:myClassInstance1];
    [myArray addObject:myClassInstance2];

}