Я пытаюсь показать веб-просмотр в своем приложении. URL-адрес веб-представления в формате объекта, потому что я получил его от json. Таким образом, в моем коде я преобразовал объект в NSString и попытался загрузить представление, но мое приложение вышло из строя, сказав это: фатальная ошибка: неожиданно найденный nil при развертывании необязательного значения. Есть ли лучший способ конвертировать объект в строку? Как я могу получить веб-просмотр для отображения содержимого URL-адреса?App Keeps Crashing Found Nil Swift
Где производится Деталь товара:
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "showDetail" {
if let indexPath = self.tableView.indexPathForSelectedRow() {
let object: AnyObject = objectsPath[indexPath.row]
(segue.destinationViewController as DetailViewController).detailItem = object
}
}
}
Вот мой код:
var detailItem: AnyObject? {
didSet {
// Update the view.
self.configureView()
}
}
func configureView() -> NSURLRequest {
// Update the user interface for the detail item.
let detail: AnyObject = self.detailItem!
let stringURL: String = String(detail as NSString)
let url = NSURL(string: stringURL)
let request = NSURLRequest(URL: url!) <---ERROR occurs here
return request
// let string:St= detailItem!
// previewWebView.
// println(string)
//let url = NSURL(string: string)
//let request = NSURLRequest(URL: url!)
//self.previewWebView.loadRequest(request)
}
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
self.previewWebView.loadRequest(configureView())
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
Где произошла ошибка? –
Где вы устанавливаете 'detailItem'? Ваш 'viewDidLoad' вызывает' configureView', который разворачивает 'detailItem', не проверяя, является ли это' nil' или нет (и здесь нет ничего, что когда-либо устанавливало 'detailItem', поэтому я ожидал бы, что это будет' nil' и дать вам именно эту ошибку). Кроме того, не используйте 'AnyObject', если вам не нужно. Если 'detailItem'' String', то просто определите его как таковой и избавитесь от всех литейных и конвертирующих гираций в 'configureView'. – Rob
Я обновил вопрос. Также это подробная таблица таблицы, если это имеет значение –