swift - 打开 UIImage 时意外发现 nil

标签 swift uiimageview

我正在开发一个演练屏幕,我在其中添加了 3 个说明图像,以帮助用户使用该应用程序。问题出现了,当我第一次启动应用程序时,我只看到带有“instruction tekst”的标签,但在这个标签下方,用户也应该看到图像。也许我做错了什么,附上我上传的错误图片: enter image description here

在这里我上传了我用来将这些图片传输到 TutorialPageContentHolderViewController 的代码图片: enter image description here 如果您能看到我的错误,我将不胜感激,因为我一整天都在为此苦苦挣扎。

最佳答案

我猜你的第一个图像中的 imageFileName 变量在你使用它时是 nil

myImageView.image = UIImage(named: imageFileName)

当您在第二个屏幕截图中为其分配一个值时,可能为时已晚,因为 viewdidLoad 在此之前加载。您可以通过在使用前手动为 imageFileName 分配一个有效值来检查这是否属实,并查看它是否有效。

修复它的一个简单方法是向 View Controller 类添加一个初始化程序,将文件名作为参数传递并将文件名存储在局部变量中,直到您在 viewDidLoad 中使用它。

第二种方法是向页面 View Controller 添加一个方法,如下所示(并从 viewDidLoad 中删除相应的行):

func prepare(with filename:String) {
    myImageView.image = UIImage(named: filename)
}

并从主视图 Controller 中的 pageTutorialAtIndex 方法调用它。

关于swift - 打开 UIImage 时意外发现 nil,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40401923/

相关文章:

Swift:随机取决于设备的时间

ios - UIBezierPath 撤消绘图重绘 UIImageView 的图像

ios - UIImageView 等待动画完成

ios - Xcode 6.4 - 无法对 View 或任何内容设置约束

ios - 使用 SFAuthenticationSession 将用户登录到 Microsoft Graph

Swift:热平移和放大/缩小 imageView 中的图像

html - 从 UIImage 数据创建 URL

ios - 在 ImageView 中的图像之间添加黑色空间

arrays - 不能在下标中使用索引

iOS swift : Save/restore scroll position when recycling cells