2011-06-21 4 views
1

基本的にNSSaverを使用してNSDataをファイルとして保存します。私はif文にそれを保存するために何を追加するのですか?この修正方法は何ですか?mac osxにファイルとしてデータを保存

- (IBAction)saveAs:(id)sender{ 

NSMutableArray *storage = [NSMutableArray arrayWithCapacity:[[arrayController arrangedObjects] count]]; 
for (int i = 0; i < [[arrayController arrangedObjects] count]; i++) { 
    Stores *object = [[arrayController arrangedObjects] objectAtIndex:i]; 
    NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys:object.Website, @"website",object.Street_Address, @"streetAddress", object.City_Address, @"cityAddress", object.Name, @"storeName", object.Latitude, @"latidude", object.Longitude, @"longitude", object.Phone_Number, @"phoneNumber", nil]; 
[storage addObject:dict]; 
} 
NSData *data = [NSKeyedArchiver archiveDataWithRootObject:storage]; 
NSSavePanel *saver = [NSSavePanel savePanel]; 
saver.requiredFileType = @"yogurtstorelocations"; 
[saver runModal]; 
if ([saver runModal] == NSOKButton){ 


    } 

} 

答えて

5

エラー処理コードが省略されています。

[data writeToURL:[saver URL] atomically:YES]; 
+0

didnt work:/ –

+0

私は今実際にMacにはいないので、私が投稿したコードは擬似コードの上にある髪の毛です。しかし、それはコンパイルして実行する必要があります。あなたのエラーは何でしたか? – Perception

+0

ああ、ちょっと待って、ちょうどNSSavePanelを2回実行していることに気付きました。 ifブロックの上にある最初の[saver runModal]を取り出します。 – Perception

関連する問題