2009-12-08 45 views
4

這是有點基本的;我正在嘗試爲iPhone應用程序檢索http數據。arrayWithContentsOfURL的正確用法是什麼?

我有www.myhost.com/test.html讀取

<array><string>test</string><string>test2</string></array> 

然後,我有

NSURL *baseURL = [NSURLRLWithString:@"http://www.myhost.com/test.html"]; 
NSArray *array = [NSArray arrayWithContentsOfURL:baseURL]; 
NSLog(@"%@", [array description]); 

這使返回(空)。我錯過了什麼?謝謝!

+0

更換&你應該開始閱讀像這樣簡單的問題API文檔的習慣。 – 2009-12-08 19:23:51

+11

儘量不要忘記你從哪裏開始。信譽與否13k +。我的問題在SO FAQ指南中完全有效。 「閱讀文檔」必須是互聯網上最引人注目的迴應。 – 2009-12-10 12:46:17

回答

5

它可能應該是在一個完整的plist格式(與文檔類型和所有)在

The man page

創建合適的plist

最簡單的方法是用「財產清單Editor.app」

一個側面說明:NSLog(@"%@", [array description]);相同NSLog(@"%@", array);

+0

非常有幫助,非常感謝! – 2009-12-08 19:27:13

5

arrayWithContentsOfURL documentation明確指出

在由aURL識別必須 僅包含屬性列表中的位置 的陣列表示對象 (的NSString,NSData的,NSArray的,或 NSDictionary中的對象)。

也就是說,您將通過調用writeToURL:atomically方法獲得的對象的種類。通過此方法寫入的位置可用於使用類方法arrayWithContentsOfURL:或實例方法initWithContentsOfURL:初始化新陣列。因此,我建議使用這些標準方法從URL寫入和讀取數組,而不是編寫自己的文件並嘗試通過arrayWithContentsOfURL:來讀取它。

0

一個額外的發現我做的是,如果你正在試圖建立對飛的名單,要服務通過網絡而不是從你必須轉義字符串的plist編輯器創建一個靜態文件的到來。如果你的文檔中有任何xml錯誤,你的數組將不會加載。比如我曾在我的一些字符串&,並仍然得到一個空數組,直到我逃串,並與&amp;