我有一个简单的测试应用程序来帮助我学习如何将数据从 NSMutableArray 持久化到 plist。一切似乎都运行良好,直到我尝试通过在 AppDelegate.m 文件中调用名为“saveData”的 ViewController 方法来保存数据:
- (void)applicationDidEnterBackground:(UIApplication *)application
{
[ViewController saveData];
}
我得到一个“没有选择器‘saveData’的已知类方法,尽管该方法在 ViewController.h 中明确声明,如下所示:
//
// ViewController.h
// PlistTest
//
// Created by Tim Jones on 10/30/13.
// Copyright (c) 2013 TDJ. All rights reserved.
//
#import <UIKit/UIKit.h>
@interface ViewController : UIViewController
@property (weak, nonatomic) IBOutlet UILabel *nameLabel;
@property (weak, nonatomic) IBOutlet UILabel *timeLabel;
@property NSMutableArray *mainActivityArray;
- (IBAction)buttonHit:(id)sender;
-(NSString *) getFilePath;
-(void) saveData;
-(void) loadData;
@end
并在 ViewController.m 中实现,因此:
//
// ViewController.m
// PlistTest
//
// Created by Tim Jones on 10/30/13.
// Copyright (c) 2013 TDJ. All rights reserved.
//
#import "ViewController.h"
#import "DataClass.h"
@interface ViewController ()
@end
@implementation ViewController
-(NSString *) getFilePath
{
NSArray *pathArray = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
return [[pathArray objectAtIndex:0] stringByAppendingPathComponent:@"PlistTestData"];
}
-(void) saveData
{
[self.mainActivityArray writeToFile: self.getFilePath atomically:YES];
}
我将 ViewController.h 导入 AppDelegate.h。
我很绿,所以我希望这个问题对这里的许多人来说可能很明显。肯定会感谢一些帮助。