【发布时间】:2013-03-20 05:10:01
【问题描述】:
我目前正在为 iPhone 编写一个应用程序,我需要遵循的设计要求之一如下:
将NSObjects 存储到NSMutableArray,将数据显示到UITableView 并将数据保存到NSUserDefaults。我可以将NSObject 存储到NSMutableArray 中并将其显示在UITableView 中,但我需要帮助了解如何将数据存储在NSObject 到NSUserDefaults 中。
我对@987654330@的定义:
#import <Foundation/Foundation.h>
@interface Name : NSObject
@property (nonatomic)NSString *name;
@property (nonatomic)NSInteger score;
@end
我对@987654332@的实现
#import "Name.h"
@implementation Name
-(id)initWithName:(NSString*)name andScore:(NSInteger)score
{
_name = name;
_score= score;
return [super init];
}
@end
这就是我存储到我的NSObject的方式:
NSString *newName = _submitNameTextBox.text;
NSInteger score = 0;
Name *name = [[Name alloc] init];//Name is the object name
name.name = newName;
name.score = score;
AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
NSMutableArray *listTemp = appDelegate.nameList; //main copy of my list is in app delegate, but i have it accessible by my uiviewcontrollers.
我在secondUIViewController 中添加NSObjects,并在我的第三个UIViewController 中显示数据,而我的第一个是存储数据的基本操作屏幕。
所以我的问题是,考虑到我用来定义NSObject 的代码以及我如何将所述对象存储到NSMutableArray,我如何在应用程序关闭时将NSMutableArray 存储到NSUserDefaults。想法是数组需要使用上次运行的数据加载程序数组,以便用户可以跟踪他/她的数据。
【问题讨论】:
-
[[NSUserDefaults standardUserDefaults] setObject:self.arrayOfPDF forKey:@""]; [ [NSUserDefaults standardUserDefaults] 同步];
-
您不能在
NSUserDefaults中存储自定义对象。您需要先将它们编码为NSData。 -
那个 Init 方法可能不会像你想象的那样做
标签: ios objective-c xcode nsmutablearray nsuserdefaults