0

When I run the app the UITableView shows the articles but when I click on one it crashes and tells me it found a fatal error: unexpectedly found nil while unwrapping an Optional value. I know it is talking about the variable link but I'm not sure why it isn't getting the link to the article. This isn't my code but it is free for anyone to use and it was made in an older swift so I had to update it a bit but got stuck. It was also the newest rss reader file or tut I've been able to find because I haven't been able to find one newer than Swift 2.3. Here is the page that the error is on:

import UIKit 

class DetailsViewController: UIViewController, UIWebViewDelegate {

// outlet - activity indicator
@IBOutlet var spinner: UIActivityIndicatorView!

// outlet - web view
@IBOutlet var myWebView: UIWebView!

// refresh button
@IBAction func refreshButtonClicked(sender: UIBarButtonItem) {
    self.refreshWebView()
}


// link to browse (this value set by parent controller)
var link: String?               <-----***ERROR HERE***-----




// MARK: - view functions

override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view.

    // set webview delegate
    self.myWebView.delegate = self

    // start spinner
    self.spinner.startAnimating()

    // load url in webview
    if let fetchURL = NSURL(string: self.link! ) {
        let urlRequest = NSURLRequest(url: fetchURL as URL)
        self.myWebView.loadRequest(urlRequest as URLRequest)
    }

}

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
}




// MARK: - Webview delegate

func webViewDidFinishLoad(_ webView: UIWebView) {

    // stop spinner
    self.spinner.stopAnimating()
}

func webView(_ webView: UIWebView, didFailLoadWithError error: Error) {

    // stop spinner
    self.spinner.stopAnimating()

    // show error message
    self.showAlertMessage(alertTitle: "Error", alertMessage: "Error while loading url.")
}




// MARK: - Utility function

// refresh webview
func refreshWebView(){

    // start spinner
    self.spinner.startAnimating()

    // reload webview
    self.myWebView.reload()

}

// show alert with ok button
private func showAlertMessage(alertTitle: String, alertMessage: String ) -> Void {

    // create alert controller
    let alertCtrl = UIAlertController(title: alertTitle, message: alertMessage, preferredStyle: UIAlertControllerStyle.alert) as UIAlertController

    // create action
    let okAction = UIAlertAction(title: "Ok", style: UIAlertActionStyle.default, handler:
        { (action: UIAlertAction) -> Void in
            // you can add code here if needed
    })

    // add ok action
    alertCtrl.addAction(okAction)

    // present alert
    self.present(alertCtrl, animated: true, completion: { (void) -> Void in
        // you can add code here if needed
    })
}

}

The only code I have in the file with the link is this(sorry it wont let me make it in a code view right):

import Foundation

//RSS Feed URL
let RSS_FEED_URL = "http://feeds.foxnews.com/foxnews/latest"

Here is the logs:

2016-11-04 13:14:41.004372 SwiftRSSReader[6518:3724227] subsystem:     com.apple.UIKit, category: HIDEventFiltered, enable_level: 0, persist_level: 0, default_ttl: 0, info_ttl: 0, debug_ttl: 0, generate_symptoms: 0, enable_oversize: 1, privacy_setting: 2, enable_private_data: 0
2016-11-04 13:14:41.007117 SwiftRSSReader[6518:3724227] subsystem: com.apple.UIKit, category: HIDEventIncoming, enable_level: 0, persist_level: 0, default_ttl: 0, info_ttl: 0, debug_ttl: 0, generate_symptoms: 0, enable_oversize: 1, privacy_setting: 2, enable_private_data: 0
2016-11-04 13:14:41.015095 SwiftRSSReader[6518:3724218] subsystem: com.apple.BaseBoard, category: MachPort, enable_level: 1, persist_level: 0, default_ttl: 0, info_ttl: 0, debug_ttl: 0, generate_symptoms: 0, enable_oversize: 0, privacy_setting: 0, enable_private_data: 0
2016-11-04 13:14:41.026425 SwiftRSSReader[6518:3723899] subsystem: com.apple.UIKit, category: StatusBar, enable_level: 0, persist_level: 0, default_ttl: 0, info_ttl: 0, debug_ttl: 0, generate_symptoms: 0, enable_oversize: 1, privacy_setting: 2, enable_private_data: 0
2016-11-04 13:14:41.090044 SwiftRSSReader[6518:3723899] subsystem: com.apple.BackBoardServices.fence, category: App, enable_level: 1, persist_level: 0, default_ttl: 0, info_ttl: 0, debug_ttl: 0, generate_symptoms: 0, enable_oversize: 0, privacy_setting: 0, enable_private_data: 0
2016-11-04 13:14:41.093159 SwiftRSSReader[6518:3723899] subsystem: com.apple.libsqlite3, category: logging, enable_level: 0, persist_level: 0, default_ttl: 0, info_ttl: 0, debug_ttl: 0, generate_symptoms: 0, enable_oversize: 1, privacy_setting: 2, enable_private_data: 0
2016-11-04 13:14:41.107322 SwiftRSSReader[6518:3724218] subsystem: com.apple.network, category: , enable_level: 0, persist_level: 0, default_ttl: 0, info_ttl: 0, debug_ttl: 0, generate_symptoms: 0, enable_oversize: 0, privacy_setting: 2, enable_private_data: 0
2016-11-04 13:14:41.107763 SwiftRSSReader[6518:3724218] [] tcp_connection_create_with_endpoint_and_parameters 1 feeds.foxnews.com 80
2016-11-04 13:14:41.108168 SwiftRSSReader[6518:3724218] [] tcp_connection_start 1 starting
2016-11-04 13:14:41.108508 SwiftRSSReader[6518:3724218] [] nw_connection_create creating connection to feeds.foxnews.com:80
2016-11-04 13:14:41.108839 SwiftRSSReader[6518:3724218] [] tcp_connection_start starting tc_nwconn=0x7fa7118007a0
2016-11-04 13:14:41.109044 SwiftRSSReader[6518:3724220] [] __nw_connection_start_block_invoke 1 starting
2016-11-04 13:14:41.109509 SwiftRSSReader[6518:3724220] [] nw_endpoint_handler_start [1 feeds.foxnews.com:80 initial path (null)]
2016-11-04 13:14:41.109766 SwiftRSSReader[6518:3724220] [] nw_connection_endpoint_report [1 feeds.foxnews.com:80 initial path (null)] reported event path:start
2016-11-04 13:14:41.110667 SwiftRSSReader[6518:3724220] [] nw_endpoint_handler_path_change [1 feeds.foxnews.com:80 waiting path (satisfied)]
2016-11-04 13:14:41.110866 SwiftRSSReader[6518:3724220] [] nw_connection_endpoint_report [1 feeds.foxnews.com:80 waiting path (satisfied)] reported event path:satisfied
2016-11-04 13:14:41.111125 SwiftRSSReader[6518:3724220] [] nw_connection_endpoint_report [1 feeds.foxnews.com:80 waiting path (satisfied)] skipping state update
2016-11-04 13:14:41.111438 SwiftRSSReader[6518:3724220] [] nw_endpoint_proxy_handler_should_use_proxy Looking up proxy for hostname: feeds.foxnews.com, ifindex: 0
2016-11-04 13:14:41.112162 SwiftRSSReader[6518:3724220] subsystem: com.apple.SystemConfiguration, category: SCPreferences, enable_level: 0, persist_level: 0, default_ttl: 0, info_ttl: 0, debug_ttl: 0, generate_symptoms: 0, enable_oversize: 0, privacy_setting: 2, enable_private_data: 0
2016-11-04 13:14:41.113320 SwiftRSSReader[6518:3724220] [] -[NWConcrete_nw_endpoint_resolver startWithHandler:] [1 feeds.foxnews.com:80 waiting resolver (satisfied)]
2016-11-04 13:14:41.113565 SwiftRSSReader[6518:3724220] [] nw_connection_endpoint_report [1 feeds.foxnews.com:80 in_progress resolver (satisfied)] reported event resolver:start_dns
2016-11-04 13:14:41.114189 SwiftRSSReader[6518:3724220] [] nw_resolver_create_dns_service_on_queue Starting host resolution feeds.foxnews.com:80, flags 0x4000d000
2016-11-04 13:14:41.114658 SwiftRSSReader[6518:3724220] [] nw_resolver_host_resolve_callback flags=0x2 ifindex=0 error=NoSuchRecord(-65554) hostname=feeds.foxnews.com. addr=::.0 ttl=60
2016-11-04 13:14:41.114846 SwiftRSSReader[6518:3724220] [] nw_resolver_start_query_timer Starting 1s query timer to receive all address families for feeds.foxnews.com:80
2016-11-04 13:14:41.115130 SwiftRSSReader[6518:3724220] [] nw_endpoint_resolver_update [1 feeds.foxnews.com:80 in_progress resolver (satisfied)] resolver is in_progress
2016-11-04 13:14:41.115388 SwiftRSSReader[6518:3724220] [] nw_endpoint_resolver_update [1 feeds.foxnews.com:80 in_progress resolver (satisfied)] Updated endpoint list is ()
2016-11-04 13:14:41.115852 SwiftRSSReader[6518:3724220] [] nw_resolver_host_resolve_callback flags=0x2 ifindex=0 error=NoError(0) hostname=ghs.l.google.com. addr=216.58.192.211:0 ttl=43
2016-11-04 13:14:41.116201 SwiftRSSReader[6518:3724220] [] nw_resolver_cancel_query_timer Cancelling query timer for feeds.foxnews.com
2016-11-04 13:14:41.116452 SwiftRSSReader[6518:3724218] [] nw_endpoint_resolver_update [1 feeds.foxnews.com:80 in_progress resolver (satisfied)] resolver is complete
2016-11-04 13:14:41.116768 SwiftRSSReader[6518:3724218] [] nw_endpoint_resolver_update [1 feeds.foxnews.com:80 in_progress resolver (satisfied)] Adding endpoint handler for 216.58.192.211:80
2016-11-04 13:14:41.116976 SwiftRSSReader[6518:3724218] [] nw_endpoint_resolver_update [1 feeds.foxnews.com:80 in_progress resolver (satisfied)] Updated endpoint list is (216.58.192.211:80)
2016-11-04 13:14:41.117217 SwiftRSSReader[6518:3724218] [] nw_connection_endpoint_report [1 feeds.foxnews.com:80 in_progress resolver (satisfied)] reported event resolver:receive_dns
2016-11-04 13:14:41.117478 SwiftRSSReader[6518:3724218] [] nw_endpoint_resolver_start_next_child [1 feeds.foxnews.com:80 in_progress resolver (satisfied)] starting child endpoint 216.58.192.211:80
2016-11-04 13:14:41.117796 SwiftRSSReader[6518:3724218] [] nw_endpoint_resolver_start_next_child [1 feeds.foxnews.com:80 in_progress resolver (satisfied)] starting next child endpoint in 174ms
2016-11-04 13:14:41.118019 SwiftRSSReader[6518:3724218] [] nw_endpoint_handler_start [1.1 216.58.192.211:80 initial path (null)]
2016-11-04 13:14:41.118301 SwiftRSSReader[6518:3724218] [] nw_endpoint_resolver_receive_report [1 feeds.foxnews.com:80 in_progress resolver (satisfied)] received child report:[1.1 216.58.192.211:80 initial path (null)]
2016-11-04 13:14:41.118504 SwiftRSSReader[6518:3724218] [] nw_connection_endpoint_report [1.1 216.58.192.211:80 initial path (null)] reported event path:start
2016-11-04 13:14:41.118977 SwiftRSSReader[6518:3724218] [] nw_endpoint_handler_path_change [1.1 216.58.192.211:80 waiting path (satisfied)]
2016-11-04 13:14:41.119170 SwiftRSSReader[6518:3724218] [] nw_endpoint_resolver_receive_report [1 feeds.foxnews.com:80 in_progress resolver (satisfied)] received child report:[1.1 216.58.192.211:80 waiting path (satisfied)]
2016-11-04 13:14:41.119438 SwiftRSSReader[6518:3724218] [] nw_connection_endpoint_report [1.1 216.58.192.211:80 waiting path (satisfied)] reported event path:satisfied
2016-11-04 13:14:41.119640 SwiftRSSReader[6518:3724218] [] nw_endpoint_proxy_handler_should_use_proxy Looking up proxy for hostname: <nil>, ifindex: 0
2016-11-04 13:14:41.120510 SwiftRSSReader[6518:3724218] [] -[NWConcrete_nw_endpoint_flow startWithHandler:] [1.1 216.58.192.211:80 waiting socket-flow (satisfied)]
2016-11-04 13:14:41.120854 SwiftRSSReader[6518:3724218] [] nw_endpoint_flow_setup_socket [1.1 216.58.192.211:80 in_progress socket-flow (satisfied)] creating socket
2016-11-04 13:14:41.121166 SwiftRSSReader[6518:3724218] [] nw_endpoint_flow_attach_protocols [1.1 216.58.192.211:80 in_progress socket-flow (satisfied)]
2016-11-04 13:14:41.122065 SwiftRSSReader[6518:3724218] [] nw_endpoint_flow_attach_protocols [1.1 216.58.192.211:80 in_progress socket-flow (satisfied)] Attached flow protocol
2016-11-04 13:14:41.122285 SwiftRSSReader[6518:3724218] [] nw_endpoint_resolver_receive_report [1 feeds.foxnews.com:80 in_progress resolver (satisfied)] received child report:[1.1 216.58.192.211:80 in_progress socket-flow (satisfied)]
2016-11-04 13:14:41.122611 SwiftRSSReader[6518:3724218] [] nw_connection_endpoint_report [1.1 216.58.192.211:80 in_progress socket-flow (satisfied)] reported event flow:start_connect
2016-11-04 13:14:41.141808 SwiftRSSReader[6518:3724218] [] nw_socket_handle_socket_event Event mask: 0x800
2016-11-04 13:14:41.142315 SwiftRSSReader[6518:3724218] [] nw_socket_handle_socket_event Socket received CONNECTED event
2016-11-04 13:14:41.142601 SwiftRSSReader[6518:3724218] [] nw_socket_setup_notsent_lowat Set TCP_NOTSENT_LOWAT(16384)
2016-11-04 13:14:41.142889 SwiftRSSReader[6518:3724218] [] nw_endpoint_flow_protocol_connected [1.1 216.58.192.211:80 in_progress socket-flow (satisfied)] Output protocol connected
2016-11-04 13:14:41.144100 SwiftRSSReader[6518:3724218] [] nw_endpoint_flow_connected_path_change [1.1 216.58.192.211:80 ready socket-flow (satisfied)]
2016-11-04 13:14:41.144380 SwiftRSSReader[6518:3724218] [] nw_endpoint_flow_connected_path_change [1.1 216.58.192.211:80 ready socket-flow (satisfied)] Connected path is satisfied
2016-11-04 13:14:41.144646 SwiftRSSReader[6518:3724218] [] nw_endpoint_resolver_receive_report [1 feeds.foxnews.com:80 in_progress resolver (satisfied)] received child report:[1.1 216.58.192.211:80 ready socket-flow (satisfied)]
2016-11-04 13:14:41.145038 SwiftRSSReader[6518:3724218] [] nw_connection_endpoint_report [1.1 216.58.192.211:80 ready socket-flow (satisfied)] reported event flow:finish_connect
2016-11-04 13:14:41.150405 SwiftRSSReader[6518:3724218] [] nw_connection_endpoint_report [1 feeds.foxnews.com:80 ready resolver (satisfied)] reported event flow:finish_connect
2016-11-04 13:14:41.150630 SwiftRSSReader[6518:3724218] [] nw_endpoint_resolver_receive_report [1 feeds.foxnews.com:80 ready resolver (satisfied)] received child report:[1.1 216.58.192.211:80 ready socket-flow (satisfied)]
2016-11-04 13:14:41.150887 SwiftRSSReader[6518:3724218] [] nw_connection_endpoint_report [1.1 216.58.192.211:80 ready socket-flow (satisfied)] reported event flow:changed_viability
2016-11-04 13:14:41.151135 SwiftRSSReader[6518:3724218] [] nw_connection_endpoint_report [1 feeds.foxnews.com:80 ready resolver (satisfied)] reported event flow:changed_viability
2016-11-04 13:14:41.151518 SwiftRSSReader[6518:3724220] [] __tcp_connection_start_block_invoke 1 sending event TCP_CONNECTION_EVENT_CONNECTED in response to state ready and error (null)
2016-11-04 13:14:41.151724 SwiftRSSReader[6518:3724220] [] tcp_connection_event_notify 1 event: TCP_CONNECTION_EVENT_CONNECTED, reason: nw_connection event, should deliver: true
2016-11-04 13:14:41.152148 SwiftRSSReader[6518:3724220] [] tcp_connection_get_statistics DNS: 3ms/7ms since start, TCP: 22ms/35ms since start, TLS: 0ms/0ms since start
2016-11-04 13:14:44.430023 SwiftRSSReader[6518:3723899] subsystem: com.apple.UIKit, category: Touch, enable_level: 0, persist_level: 0, default_ttl: 1, info_ttl: 0, debug_ttl: 0, generate_symptoms: 0, enable_oversize: 1, privacy_setting: 2, enable_private_data: 0
2016-11-04 13:14:44.430900 SwiftRSSReader[6518:3723899] subsystem: com.apple.UIKit, category: Gesture, enable_level: 0, persist_level: 0, default_ttl: 1, info_ttl: 0, debug_ttl: 0, generate_symptoms: 0, enable_oversize: 1, privacy_setting: 2, enable_private_data: 0
2016-11-04 13:14:44.432417 SwiftRSSReader[6518:3723899] subsystem: com.apple.UIKit, category: GestureEnvironment, enable_level: 0, persist_level: 0, default_ttl: 1, info_ttl: 0, debug_ttl: 0, generate_symptoms: 0, enable_oversize: 1, privacy_setting: 2, enable_private_data: 0
2016-11-04 13:14:44.432979 SwiftRSSReader[6518:3723899] subsystem: com.apple.UIKit, category: GestureExclusion, enable_level: 0, persist_level: 0, default_ttl: 1, info_ttl: 0, debug_ttl: 0, generate_symptoms: 0, enable_oversize: 1, privacy_setting: 2, enable_private_data: 0
2016-11-04 13:14:46.863562 SwiftRSSReader[6518:3723899] subsystem: com.apple.SystemConfiguration, category: SCNetworkReachability, enable_level: 0, persist_level: 0, default_ttl: 0, info_ttl: 0, debug_ttl: 0, generate_symptoms: 0, enable_oversize: 0, privacy_setting: 2, enable_private_data: 0
objc[6518]: Class PLBuildVersion is implemented in both /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/System/Library/PrivateFrameworks/AssetsLibraryServices.framework/AssetsLibraryServices (0x11cd23910) and /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/System/Library/PrivateFrameworks/PhotoLibraryServices.framework/PhotoLibraryServices (0x11cb4d210). One of the two will be used. Which one is undefined.
2016-11-04 13:14:47.044666 SwiftRSSReader[6518:3723899] subsystem: com.apple.siri, category: Intents, enable_level: 1, persist_level: 1, default_ttl: 0, info_ttl: 0, debug_ttl: 0, generate_symptoms: 0, enable_oversize: 0, privacy_setting: 0, enable_private_data: 0

fatal error: unexpectedly found nil while unwrapping an Optional value (lldb)

Branson
  • 55
  • 7
  • Please add the detailed error you're getting and _if possible_ add the link of the rss. Check also this answer about [unexpectedly found nil while unwrapping an Optional value](http://stackoverflow.com/a/25239748/4092887) – Mauricio Arias Olave Nov 03 '16 at 17:25
  • I updated it @Mauricio – Branson Nov 04 '16 at 17:34

0 Answers0