搜尋

首頁  >  問答  >  主體

ios - unexpectedly found nil while unwrapping an Optional value?

import UIKit

class DetailTableViewController: UITableViewController {

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

<code>var restaurant: Restaurant!

 

@IBOutlet weak var imageView: UIImageView!

 

override func viewDidLoad() {

    super.viewDidLoad()

    imageView.image = UIImage(named: restaurant.image)

 

}

 

override func didReceiveMemoryWarning() {

    super.didReceiveMemoryWarning()

}

 

// MARK: - Table view data source

 

override func numberOfSectionsInTableView(tableView: UITableView) -> Int {

    return 1

}

 

override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {

    return 4

}

 

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

     

    let cell = tableView.dequeueReusableCellWithIdentifier("DetailCell", forIndexPath: indexPath) as! DetailTableViewCell

     

    switch indexPath.row{

    case 0:

        cell.fieldLabel.text = "Restaurant Name"

        cell.valueLabel.text = restaurant.name

    case 1:

        cell.fieldLabel.text = "Restaurant Type"

        cell.valueLabel.text = restaurant.type

    case 2:

        cell.fieldLabel.text = "Restaurant Location"

        cell.fieldLabel.text = restaurant.location

    case 3:

        cell.fieldLabel.text = "Visted?"

        cell.fieldLabel.text = restaurant.isVisted ? "Yes":"No"

    default:

        cell.fieldLabel.text = ""

        cell.valueLabel.text = ""

    }

    return cell

}

</code>

}

错误信息: fatal error: unexpectedly found nil while unwrapping an Optional value
(lldb)

PHPzPHPz2887 天前608

全部回覆(3)我來回復

  • 巴扎黑

    巴扎黑2017-04-17 17:38:59

    物件restaurant没有初始化,而且后来tableView:cellForRowAtIndexPath使用restaurant对象时它也没有值,一个null`物件在 unwrap 的時候會報錯。

    回覆
    0
  • 天蓬老师

    天蓬老师2017-04-17 17:38:59

    swift我沒有學過,不過根據 oc 的經驗和錯誤訊息大膽猜測,你只寫了從重用池裡取cell,如果重用池裡沒有,而你沒有創建,不知道對不?

    回覆
    0
  • 天蓬老师

    天蓬老师2017-04-17 17:38:59

    錯誤翻譯:optional值拆包的時候發現是空值,在某種程度相當於是空指標的問題
    可以找一下哪些值沒有初始化

    回覆
    0
  • 取消回覆