2015-05-17 67 views
0

我嘗試將NSString轉換爲NSURL,但是我收到了截斷的url。NSURl urlWithString用點代替身體

NSURL *url = [NSURL fileURLWithPath:music.url]; 

如果我做的NSLog我music.url得到:

/用戶/尼基塔/庫/開發商/ CoreSimulator /設備/ D93FE148-7F72-43BB-A545-06D76C71300B /數據/集裝箱/數據/應用/ 48BC6629-F054-4679-AC7B-709815EC5E2A /圖書館/緩存/ 4219609-357670045.mp3

當收到的NSLog網址:

/用戶/尼基塔/庫/開發商/ CoreSimulator /設備/ D93FE148-7F72-43BB-A545-06D76C71300B /數據/集裝箱/數據/應用索引0045.mp3

鏈接是部分截斷。

是什麼原因? 謝謝

回答

2

music.ulr顯然是NSString的一個實例。 urlNSURL的一個實例。使用NSLog()一個類的實例自己決定如何記錄。

Objective-C對象,作爲由descriptionWithLocale返回的字符串打印:如果可用,或者以其他方式描述。也適用於CFTypeRef對象,返回CFCopyDescription函數的結果。

NSLog()僅打印描述,而不是完整的對象,無論這應該是什麼。

很明顯NSString的開發者認爲打印出完整的字符串並寫出一個描述方法是一個好主意。 NSURL的開發人員認爲,部分打印字符串就足夠了,因此您可以識別它。

+2

阿門; '[NSObject description]'是整個API中最容易被誤解的方法之一,也是導致很多混淆的原因。 – trojanfoe

相關問題