2012-03-27 10 views
0

だから私は一緒にこのパズルしようとしている - 私は:-)から学ぶために小さな単一のビューアプリケーションを作っている私はあなたが見ることができるように達成しようとしています何はPLISTにデータを書き込もうとしました - ほとんどが

収容されているコードと画像によって、私は1つのtextFieldとUITable Buttonへのサブミットを持っているということです。 - UITableViewが結果を表示できるように、ナビゲーションビューに埋め込んだ最初のUIView。今、私は2つのエラーを取得していると私は何かを忘れていることを知っているが、私はそれらを宣言する方法を把握することはできません。

AddingViewController.h

のコードAddingViewController.mため
@interface AddingViewController : UIViewController { 

Dfetch *dao; 
IBOutlet UITextField *addToPlistTxt; 
IBOutlet UITableView *table; 

NSArray *testList; 

} 

@property (retain, nonatomic) IBOutlet UITextField *addToPlistTxt; 
@property (retain, nonatomic) IBOutlet UITableView *table; 

@property (retain, nonatomic) NSArray *testList; 

-(IBAction)makeKeyBoardGoAway; 
-(IBAction)submitToPlistAction; 

@end 

コード:

@implementation AddingViewController 
@synthesize addToPlistTxt; 
@synthesize table; 
@synthesize testList; 


    //Not very elegant way to dismiss keyboard, but it will do for the excersize 
    -(IBAction)makeKeyBoardGoAway{  
    [addToPlistTxt resignFirstResponder]; 
    } 

    -(IBAction)submitToPlistAction{ 

    NSString  *path  = [[NSBundle mainBundle] pathForResource:@"Data" ofType:@"plist"]; 
    NSString  *addLine = self.addToPlistTxt.text; 
    NSArray  *values = [[NSArray alloc] initWithObjects:addLine, nil]; 
    NSArray  *keys  = [[NSArray alloc] initWithObjects:NAME_KEY, nil]; 
    NSDictionary *dict  = [[NSDictionary alloc] initWithObjects:values forKeys:keys]; 
    [self.testList addObject:dict]; 
    [self.testList writeToFile:path atomically:YES]; 
    } 

    - (void)viewDidLoad 
    { 
    [super viewDidLoad]; 
// Do any additional setup after loading the view, typically from a nib. 


    } 

    @end 

今、私はちょうど私が場所を確認できるように、私は、全体のファイルを貼り付け、したがって、これを習得しようとしています私は間違ってしまった。

エラーは以下のとおりです。

NSArray  *keys  = [[NSArray alloc] initWithObjects:NAME_KEY, nil]; 

[self.testList addObject:dict]; 

私はこれらの2がソートなったら私のPLISTにデータを追加するために、それは設定する必要がありますか?

私はこのすべてが理にかなって願っています:-)

enter image description here

あなたはUIを視覚化する必要はありませんので、私は下のスクリーンショットを追加した

-

乾杯:-)何かアドバイスをありがとうジェフ

+0

あなたの大規模な質問にはもう少し詳細が必要です。どんな種類のエラーがありますか? '' NAME-KEY'は何と定義されていますか? –

+0

ええ、私はそれが大量であることを知っている申し訳ありません、私はできるだけ多くの詳細を追加しようとしました:-) Name_Keyを定義することは私が立ち往生している一つのことです - 私はそれを行う方法と場所がわかりません。私はそれをNAME_KEYと呼んでいます。なぜならそれはPlistの中でキーの下の名前と呼ばれるからです。 –

答えて

1

NAME_KEYは、いくつかの文字列である必要があり、それが呼ばれていますどこ上を定義した(いずれか.hインタフェースファイルまたは.m implemeでネーションファイル)。

例えば:追加されていないdictについては

#define NAME_KEY @"jwk82" 

、あなたのaddToPlistTxtのUITextFieldがnilである場合、私は思ったんだけど、それはエラー(またはクラッシュ)を引き起こしているものです。

NSDictionaryオブジェクトを作成して調べる前にブレークポイントを設定します。

+0

あなたが言ったようにNAME_KEYを定義すると、1つのエラーが消えてしまいますが、もう1つのエラーが残り、ブレークポイントを設定することが役に立たない - デバイス/シミュレータ上でコンパイルできないエラーです。 –

+0

もう一度...エラーは何ですか? –

+0

'NSArray'の表示されない@interfaceは、セレクタ 'addObject:'を宣言します –

関連する問題