     }
 
     override func tableView(tableView: UITableView!, heightForRowAtIndexPath indexPath: NSIndexPath!) -> CGFloat {
-        let post = posts![indexPath.section]
+        let post = posts[indexPath.section]
         if indexPath.row == self.tableView(tableView, numberOfRowsInSection: indexPath.section) - 1 {
-            let webView = self.postsWebViewCache![post.id]!
-            return webView.documentHeight()
+            if let height = self.webViewHeightCache[post.id] {
+                return height
+            }
+            return 0
         }
 
         let postPhotos = post.photos()

        }
    }

    override func numberOfSectionsInTableView(tableView: UITableView!) -> Int {
        if let posts = self.posts {
            return posts.count
        }
        return 0
    }

    override func tableView(tableView: UITableView!, numberOfRowsInSection section: Int) -> Int {
        let post = self.posts![section]
        let postPhotos = post.photos()
        if postPhotos.count == 1 {
            return 2

    }
    
    override func tableView(tableView: UITableView!, cellForRowAtIndexPath indexPath: NSIndexPath!) -> UITableViewCell! {
        let post = posts[indexPath.section]
        if indexPath.row == self.tableView(tableView, numberOfRowsInSection: indexPath.section) - 1 {
            let cell = tableView.dequeueReusableCellWithIdentifier(contentTableViewCellIdentifier) as ContentTableViewCell!
            cell.contentWidth = tableView.frame.size.width
