0

我有一个可以添加项目的数组。虽然当我退出应用程序时,记录并没有保存。我该怎么做。

这是我的 appdelgate 文件,因为这是我的 NSMutableArray 所在的位置

AppDelegate.m:

#import "LSAppDelegate.h"

#import "LSViewController.h"

#import "Patient.h"

#import "PRViewController.h"

@implementation LSAppDelegate

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];

    Patient *patient = [[Patient alloc]init];
    patient.patientName = @"Patient Name";
    patient.patientSurname = @"Patient Surname";
    patient.patientDoB = @"Patient Date of Birth";
    patient.patientHomeNumber = @"Patient Home No";
    patient.patientMobileNumber = @"Patient Mobile No";
    patient.patientEmail = @"Patient Email Address";
    patient.patientAddress = @"Patient Address";
    patient.patientPicture = [UIImage imageNamed:@"patientPicture.jpg"];

    // Treatments

    patient.treatmentName = @"Treatment Name";
    patient.treatmentDate = @"Treatment Date";
    patient.treatmentType = @"Treatment Type";

    self.patients = [[NSMutableArray alloc]
                     initWithObjects:patient, nil];

        // Override point for customization after application launch.
    self.viewController = [[LSViewController alloc] initWithNibName:@"LSViewController" bundle:nil];
    self.navController = [[UINavigationController alloc] initWithRootViewController:self.viewController];
    [[UINavigationBar appearance] setTintColor:[UIColor brownColor]];
    self.window.rootViewController = self.navController;
    [self.window makeKeyAndVisible];
    return YES;
}

- (void)applicationWillResignActive:(UIApplication *)application
{
    // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.
    // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game.
}

- (void)applicationDidEnterBackground:(UIApplication *)application
{
    // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later. 
    // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.
}

- (void)applicationWillEnterForeground:(UIApplication *)application
{
    // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background.
}

- (void)applicationDidBecomeActive:(UIApplication *)application
{
    // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
}

- (void)applicationWillTerminate:(UIApplication *)application
{

}
- (NSString *)applicationDocumentsDirectory {
    return [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];
}

@end

到目前为止,我所拥有的是:

- (NSString *)applicationDocumentsDirectory {
        return [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];
    }

如果您想要更多代码片段或文件,请说。

4

2 回答 2

0

这就是我在我的应用程序中所做的。

  • 创建您的数组并将其保存到 NSditonary 对象
  • 然后将您的 NSDictionary 存储到您的应用程序文档目录中。
  • 当您的应用程序启动时,找到您的 NSDictonary 文件对象并从中读取数组。

使用 NSDictonary 的优点是您可以存储多个数组(以防您存储多个患者信息)。

以下是一些示例答案,可帮助您入门。

如何将 NSArray 存储在 NSDictionary 中?

是否可以将 NSMutableArray 或 NSDictionary 数据保存为 iOS 中的文件?

我们如何存储到 NSDictionary 中?NSDictionary 和 NSMutableDictionary 有什么区别?

于 2013-07-05T19:57:20.560 回答
0

为了保留数据,您将其写入磁盘上的文件,然后在应用程序再次启动时加载该文件。

于 2013-07-05T17:20:12.013 回答