unexpectedly found nil while unwrapping an Optional value using core data
<p>I'm trying to use core data with my table view elements, but I get a runtime error: "unexpectedly found nil while unwrapping an Optional value"</p>

<p>here is the cellForRowAtIndexPath function and the function for maintaining the core data, I'm not sure which part of these has the error</p>

<pre><code>   func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -&gt; UITableViewCell {
        let cell = self.tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath) as! itemsList


        let shopList = people[indexPath.row]
        cell.items!.text = shopList.valueForKey("name") as? String


        return cell
    }

func saveName(name: String) {
    //1
    let appDelegate =
        UIApplication.sharedApplication().delegate as! AppDelegate

    let managedContext = appDelegate.managedObjectContext

    //2
    let entity =  NSEntityDescription.entityForName("ShopList",
                                                       inManagedObjectContext:managedContext)

    let shopList = NSManagedObject(entity: entity!,
                                   insertIntoManagedObjectContext: managedContext)

    //3
        shopList.setValue(name, forKey: "name")

    //4
    do {
        try managedContext.save()
        //5
        people.append(shopList)
    } catch let error as NSError  {
        print("Could not save \(error), \(error.userInfo)")
    }
    }


override func viewWillAppear(animated: Bool) {
    super.viewWillAppear(animated)

    //1
    let appDelegate =
        UIApplication.sharedApplication().delegate as! AppDelegate

    let managedContext = appDelegate.managedObjectContext

    //2
    let fetchRequest = NSFetchRequest(entityName: "ShopList")

    //3
    do {
        let results =
            try managedContext.executeFetchRequest(fetchRequest)
        people = results as! [NSManagedObject]


    } catch let error as NSError {
        print("Could not fetch \(error), \(error.userInfo)")
    }
}
</code></pre>

<p>}</p>

<p>the breakpoint at this line</p>

<pre><code>let managedContext = appDelegate.managedObjectContext
</code></pre>