我如何改变UIimageview图像在ViewController当侧边菜单被点击?



我想在单击侧边菜单项之一时更改视图控制器中的背景图像。

我在做这个过程时使用VIP架构。

当侧边菜单上的项目被点击时,下面的代码块工作:

else if indexPath.row == 1
{
switch indexPath.section {
case 0:
print("Any ")
print(indexPath)
case 1:
print("Dark Mode ")
//  self.interactor?.selectThemes(theme: "Dark")

router?.changeTheme(theme: .Dark)

case 2:
print("Once a day ")

default:
print("out of range")
}
}

那么我想在路由器上做一些事情:

func changeTheme(theme:Themes){
if Themes.Dark == theme
{
var jokegenerate = JokeGenerateController()

jokegenerate.changeBackground(image: UIImage(named: "duck")!)

//print(theme)

}

}

最后,我想改变viewController中的图像。我的代码如下:

func changeBackground(image: UIImage){
backGroundImage.image = image
print("hey")
}

但是我在这里得到以下错误:致命错误:在隐式展开可选值

时意外发现nil我应该怎么做来修复这个错误?

你应该检查这个链接(委托)

你应该在模块之间建立连接。

class Bakery
{
var delegate:BakeryDelegate?
func makeCookie()
{
var cookie = Cookie()
cookie.size = 6
cookie.hasChocolateChips = true
delegate?.cookieWasBaked(cookie)
}
}
class CookieShop: BakeryDelegate
{
func cookieWasBaked(_ cookie: Cookie)
{
print("Yay! A new cookie was baked, with size (cookie.size)")
}
}
let shop = CookieShop()
let bakery = Bakery()
bakery.delegate = shop
bakery.makeCookie()

差不多。

最新更新