2015-08-18 2 views
0

Я пытаюсь показать webview в ячейке таблицы. Ошибка Неожиданно найдено нуль при разворачивании необязательно всплывает при «let webView = cell.viewWithTag (12) as! UIWebView«. Тег webView равен 12 (перекрестная проверка многократно). dateLabel и captionLabel работают нормально.Не удается найти UIWebView в TableView

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { 

    let cell : UITableViewCell! 
    cell = tableView.dequeueReusableCellWithIdentifier("idCellPost", forIndexPath: indexPath) 
    let dateLabel = cell.viewWithTag(10) as! UILabel 
    let captionLabel = cell.viewWithTag(11) as! UILabel 
    let webView = cell.viewWithTag(12) as! UIWebView 
    dateLabel.text = "8/18/2015" 
    captionLabel.text = "Dummy text." 
    webView.loadRequest(getRequest()) 
    webView.scalesPageToFit = true 
    return cell 
} 

ответ

0

Снять отметку "Используйте классы размера" под контролером файла на вкладке Utility. Сейчас он работает нормально. По какой-то причине ViewWithTag возвращает значение nil, когда проверяется класс размера.

0

Вы создали пользовательскую ячейку. Вам не нужно иметь доступ к этому подзону с тегом. Вы можете напрямую обращаться к ним как к свойствам.

if let customCellObject = tableView.dequeueReusableCellWithIdentifier("idCellPost", forIndexPath: indexPath) as? CustomCell { 
     customCellObject.dateLabel?.text = "8/18/2015" 
     customCellObject.captionLabel?.text = "Dummy text." 
     customCellObject.webView?.loadRequest(getRequest()) 
     return customCellObject 
    } 

Конечно, вне блока if вам необходимо обработать случай, если пользовательская ячейка не удалена.

0
let dateLabel: UILabel = UILabel() 
let captionLabel:UILabel = UILabel() 
let webView : UIWebView = UIWebView(frame: cell.frame) 

dateLabel.text = "8/18/2015" 
captionLabel.text = "Dummy text." 
webView.loadRequest(getRequest()) 
webView.scalesPageToFit = true 
[cell.addSubview(webView)]; 

// Вы должны иметь viewWithTag 10 и 11.

func getRequest()-> NSURLRequest!{ 
let urlPath: String = "http://www.google.com" 
var url: NSURL = NSURL(string: urlPath)! 
var request1: NSURLRequest = NSURLRequest(URL: url) 
return request1 
} 
+0

Я уже определил веб-представление с помощью раскадровки. – crysis

+0

dateLabel должен иметь тег 10, captionLabel тег 11 и тег webView 12 – Jamil

+0

да, это теги, перекрестные проверили их так много раз – crysis

Смежные вопросы