2010-08-10 28 views
1

在這裏可能真的是一個關於xcode的新手問題(對於iphone)..Xcode:在標籤中顯示下載的.txt內容?

當我發出這個命令時;

NSString * externalData = [NSData dataWithContentsOfURL:[NSURL URLWithString:@「http://blah.com/userlist.txt」]];

我可以看到它是從我的網絡服務器上下載的。 如何在標籤中顯示此1行演示?

我試過了; label.text = externalData; [externalData release];

但這似乎並沒有工作..它似乎在應用程序在模擬器崩潰。 任何想法?

回答

6

它崩潰,因爲+dataWithContentsOfURL:返回一個不是NSString *的NSData *。您需要改爲+stringWithContentsOfURL:。請注意,這將阻止主線程,這可能不合需要。

編輯:

需要明確的是,這樣的代碼:

NSString* foo = [NSString stringWithContentsOfURL:...]; 

你在哪裏用自己的價值觀取代適當的代碼段。

+1

已棄用。使用stringWithContentsOfURL:encoding:error:如果你知道編碼或stringWithContentsOfURL:usedEncoding:error:它告訴你它用什麼編碼來解釋數據。後者對於帶有charset =參數的text/* content-types可能是明智的。 – 2010-08-10 18:52:58

+0

好點,好抓。我很久沒有使用這些方法了,所以我沒有跟上他們的折舊。 – jer 2010-08-10 21:08:27

+0

感謝您的快速回復。我試過 \t NSURL * url = [NSURL URLWithString:@「http://www.blah.com/xcode/userlist.txt」]; NSString * content = [NSString stringWithContentsOfURL:url encoding:NSASCIIStringEncoding]; label.text = * content; 它告訴我; setText的參數1的不兼容類型。 我假設我必須在這裏做一些轉換? 我試過了; label.text = [NSString stringWithFormat:@「%s」,content]; 但是,這不是.. 感謝您的幫助到目前爲止! – 2010-08-11 04:04:44