2016-06-17 22 views
0

我有一個包含一個URL string變量copiedURL,我嘗試使用字符串變量來顯示圖像編程不能在NSURL中使用字符串變量?

let url = NSURL(string: copiedURL) 
let data = NSData(contentsOfURL: url!) 
let image2 = UIImage(data: data!) 

當我建立和運行,我得到一個EXC_BAD_INSTRUCTION錯誤fatal error: unexpectedly found nil while unwrapping an Optional value

我確信copiedURL有一個值,因爲我使用print()進行調試並且所有打印都很好。

而且,我也試過:

let url = NSURL(string: "\(copiedURL)") 

但這並沒有解決這個問題。

+0

當我打印'copiedURL'的值時,我將輸出複製並粘貼到我的網頁瀏覽器中,並將網頁加載到應有的位置。我很欣賞你的建議,但考慮到網頁加載的事實,這是不是說該網址是有效的? – AlexanderHart

回答

0

NSURL(string:)是一個failable初始值設定項。在URL無效的情況下,它不會初始化新的NSURL實例,而是返回nil

檢查您的copiedURL是否爲有效的網址。

+0

從上面重申我的迴應,'copiedURL'的值在我的Web瀏覽器中工作得很好,所以在邏輯上我假設它是有效的URL,但我試過'let validURL = copiedURL.stringByAddingPercentEncodingWithAllowedCharacters(NSCharacterSet.URLPathAllowedCharacterSet())',問題是仍然有 – AlexanderHart

+1

你確定錯誤是在'url!'而不是'data!'?通過調試器,看看會發生什麼。 – Alexander

+0

你是絕對正確的,我只是檢查並且錯誤信息指向'let image2 = UIImage(data:data!)',就這麼說,我可以採取哪些進一步措施來解決這個問題? – AlexanderHart