2011-06-21 38 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

沒有工作:/ ... –

+0

我不是實際上是在一臺Mac所以我現在發佈的代碼是上面的僞碼的頭髮。但它應該編譯並運行。你的錯誤是什麼? – Perception

+0

等一下,我只注意到你正在運行你的NSSavePanel兩次。取出第一個[save runModal],即if塊上方的那一行。 – Perception