Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 对象加载UIImage会使使用swift的程序执行崩溃_Ios_Swift_Uiimageview_Xcode9 Beta - Fatal编程技术网

Ios 对象加载UIImage会使使用swift的程序执行崩溃

Ios 对象加载UIImage会使使用swift的程序执行崩溃,ios,swift,uiimageview,xcode9-beta,Ios,Swift,Uiimageview,Xcode9 Beta,该课程有辛普森课程: import Foundation import UIKit class Simpson { var name="" var occupation="" var image = UIImage() } 使用该类,我声明了一个数组: import UIKit class tableVC: UIViewController ,UITableViewDelegate,UITableViewDataSource{ @IBOutlet weak

该课程有辛普森课程:

import Foundation
import UIKit

class Simpson
{
    var name=""
    var occupation=""
    var image = UIImage()
}
使用该类,我声明了一个数组:

import UIKit

class tableVC: UIViewController ,UITableViewDelegate,UITableViewDataSource{

    @IBOutlet weak var tableView: UITableView!
 var mySimpsons=[Simpson]()
    override func viewDidLoad() {
        super.viewDidLoad()
        //tableview setup
        tableView.delegate=self
        tableView.dataSource=self

        //create our Character
        let homer=Simpson()
        homer.name="Homer Simpson"
        homer.occupation="safty inseptor"
        homer.image=UIImage(named: "Homer.png")!

        let bart=Simpson()
        bart.name="Bart Simpson"
        bart.occupation="Student"
        bart.image=UIImage(named: "Bart.png")!

        let marge=Simpson()
        marge.name="Marge Simpson"
        marge.occupation="HomerMaker"
        marge.image=UIImage(named: "Marge.png")!

        let Ned=Simpson()
        Ned.name="Ned Simpson"
        Ned.occupation="Phamacist"
        Ned.image=UIImage(named: "Ned.png")!

         mySimpsons.append(homer)
         mySimpsons.append(bart)
         mySimpsons.append(marge)
         mySimpsons.append(Ned)
}
UITableView
代理的功能包括:

func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    return mySimpsons.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let cell=UITableViewCell()
    cell.textLabel?.text=mySimpsons[indexPath.row].name
    return cell
}
此程序正在成功执行,但未能启动,并且当给Simpsons对象提供图像链接时,程序崩溃。 i、 e


我怎样才能摆脱这个错误?通过此链接,您可以下载示例项目表单更正。

发生崩溃是因为您强制展开了
UIImage
实例。首先,检查是否已将这些图像添加到项目中。然后通过以下方式检查图像是否正确实例化:

if let image = UIImage(named: "Homer") {
   homer.image = image
}
根据
UIImage.init(名称:)

对于PNG图像,可以省略文件扩展名。对于所有其他文件格式,始终包括文件扩展名


发生该崩溃的原因是您强制展开
UIImage
实例。首先,检查是否已将这些图像添加到项目中。然后通过以下方式检查图像是否正确实例化:

if let image = UIImage(named: "Homer") {
   homer.image = image
}
根据
UIImage.init(名称:)

对于PNG图像,可以省略文件扩展名。对于所有其他文件格式,始终包括文件扩展名


如何检查图像类型,如。“Homer.png”如何检查图像类型。“Homer.png”