おそらく初心者の問題ですが、ここにあります。「アプリケーションdidFinishLaunchingWithOptions」のファイルから新しい辞書をインスタンス化するAppDelegateを持っています。後でディスクに保存するために、AppDelegate の辞書に追加する新しいオブジェクトを渡したい addViewController があります。これが私が持っているものの一部です。
//
// AppDelegate.m
// PersonLibraryiOS
//
// Created by Joey on 11/7/12.
// Copyright (c) 2012 Joey. All rights reserved.
//
#import "AppDelegate.h"
#import "AddViewController.h"
#import "Person.h"
@implementation AppDelegate
@synthesize PersonDict;
-(void)addtoDict:(Person *)newPerson
{
[PersonDict setObject:@"newPerson" forKey:[newPerson name]];
}
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// Override point for customization after application launch.
return YES;
PersonDict = [NSMutableDictionary dictionaryWithContentsOfFile:@"diskDict"];
および AddViewController:
//
// AddViewController.m
// personLibraryiOS
//
// Created by Joey on 11/8/12.
// Copyright (c) 2012 Joey. All rights reserved.
//
#import "AddViewController.h"
#import "TableViewController.h"
#import "person.h"
#import "AppDelegate.h"
@implementation AddViewController
@synthesize nameLabel;
@synthesize ageLabel;
@synthesize heightLabel;
@synthesize weightLabel;
@synthesize hairColorLabel;
@synthesize eyeColorLabel;
- (IBAction)saveButton:(id)sender
{
person *newperson = [[person alloc]init];
newperson.name = [nameLabel text];
newperson.age = [ageLabel text];
newperson.height = [heightLabel text];
newperson.weight = [weightLabel text];
newperson.hairColor = [hairColorLabel text];
newperson.eyeColor = [eyeColorLabel text];
[AppDelegate addtoDict:newperson]; <---- the error is here
}
これはおそらく基本的なことだと思いますが、本当に混乱しています。addViewController に AppDelegate.h ファイルをインポートしているので、AppDelegate のメソッドをすべて認識している必要があります。
みんな、ありがとう。