import UIKit
import Foundation
struct MemeModel{
var topText:String
var bottomText:String
var originalImage:UIImage!
var memedImage:UIImage
}
struct MemeCollection{
func getMemeStorage() ->AppDelegate{
let appDelegate = UIApplication.shared.delegate
return appDelegate as!AppDelegate
}
//get memeModel count number
func count() ->Int{
return getMemeStorage().memes.count
}
//append meme
func addMeme(Meme meme:MemeModel){
print("meme added")
getMemeStorage().memes.append(meme)
print(getMemeStorage().memes.count)
}
//getMeme
func getMeme(index:Int)->MemeModel{
return getMemeStorage().memes[index]
}
}
当我在 detailViewcontroller
中以这种方式声明 MemeModel
时:
var detailmemecontroller = MemeModel()
编译器提示以下内容:
missing argument 'toptext' for paramenter in call.
如果我这样声明一个memeCollection
,就不会提示:
var memeCollection = Memecollection()
我需要做什么?
最佳答案
MemeCollection
没有强制变量,MemeModel
有 4 个强制变量 topText
、bottomText
originalImage
和 memedImage
。因此,如果您在 MemeCollection
中添加任何强制变量,您也会在那里得到相同的错误。
修复MemeModel
的错误。你有两个选择。
选项 1 要么像这样传递所有强制参数。
var detailmemecontroller = MemeModel(topText: "", bottomText: "", originalImage: UIImage.init(), memedImage: UIImage.init())
选项 2 将所有变量设为可选。
struct MemeModel{
var topText:String?
var bottomText:String?
var originalImage:UIImage?
var memedImage:UIImage?
}
关于swift - 调用中的参数缺少参数 'toptext',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44393771/