2010-07-03 74 views
0

大家好我更新到iOS 4,但在我的應用程序使用:功能的IOS棄用4

NSString *connected = [NSString string withContentofURL:[NSURL URLWithString:@"http://myurl.com/myFile]]; 

,但現在我得到如下:

StringWithContentsofURL is deprecated ! 

我用這個來測試連接可用。

我能做什麼?

感謝

+0

檢查此堆棧問題:http://stackoverflow.com/questions/2039203/what-is-the-stringwithcontentsofurl-replacement-for-objective-c – Alan 2010-07-03 00:56:18

回答

3

如iPhone OS2(因此這不是新的)的

[NSString withContentsOfURL: (NSURL*) url]

方法已被替換

+ (id)stringWithContentsOfURL: (NSURL *)url encoding: (NSStringEncoding)enc error: (NSError **)error

下面是使用新的簽名的例子:

NSError* error = nil; 
NSURL* url = [NSURL urlWithString: @"www.google.com"]; 
NSString* stringForUrlPath = [NSString stringWithContentsOfURL: url 
                 encoding: NSUTF8StringEncoding 
                 error: &error]; 

請參閱this爲您的NSStringEncoding選項。

+0

是啊,但編碼? – sarlin13 2010-07-03 00:58:15

+0

你正在訪問什麼樣的網站?很可能NSUTF8StringEncoding應該很好地爲你服務。 – sdolan 2010-07-03 01:33:36

0

使用

NSError* error; 
NSString *string = [NSString stringWithContentsOfURL:url encoding:NSUTF8StringEncoding error:&error]; 

代替。蘋果不應該包含stringWithContentsOfURL:(無編碼)開始。它在OS X上已被棄用了很長一段時間,因爲這是導致非英語使用者頭痛的原因。

也就是說,不要下載某些東西來測試連通性。相反,使用Reachiability

+0

可達性只會告訴你,如果你有3G或WiFi連接,而不是如果你可以到達一個網站。最好的檢查一個地址是否可達是實現一個ping類。 Apple在這裏有一個例子:http://developer.apple.com/mac/library/samplecode/SimplePing/Introduction/Intro.html – sdolan 2010-07-03 01:14:13