作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我一直在尝试创建我的第一个便利初始化器。我收到此错误:
我收到错误:参数“valueInDollars”必须先于参数“serialNumber”
这是我的所有代码,我的问题在代码的底部,但我认为显示所有内容很有用。
import UIKit
class Item: NSObject {
var name: String
var valueInDollars: Int
var serialNumber: String?
let dateCreated: NSDate
init(name: String, valueInDollars: Int, serialNumber: String?) {
self.name = name
self.valueInDollars = valueInDollars
self.serialNumber = serialNumber
self.dateCreated = NSDate()
super.init()
}
//create a random item:
convenience init(random: Bool = false) {
if random {
let adjectives = ["Fluffy", "Rusty", "Bluffy"]
let nouns = ["Boon", "Noon", "Toon",]
var idx = arc4random_uniform(UInt32(adjectives.count))
let randomAdjective = adjectives[Int(idx)]
idx = arc4random_uniform(UInt32(nouns.count))
let randomNoun = nouns[Int(idx)]
let randomName = "\(randomAdjective) \(randomNoun)"
let randomValue = Int(arc4random_uniform(100))
let randomSerialNumber = NSUUID().UUIDString.componentsSeparatedByString("-").first!
self.init(name: randomName, serialNumber: randomSerialNumber, valueInDollars: randomValue)
}
else {
self.init(name: "", serialNumber: nil, valueInDollars: 0)
}
}
}
最佳答案
您应该使用定义 init 本身时使用的相同顺序的参数来调用 init
self.init(name: "", valueInDollars: 0, serialNumber: nil)
关于快速便利初始化程序错误 : must precede argument,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41041627/
我的图书馆的几个部分都带有“便利”功能。例如,容器类可能具有解析字符串信息的功能。这些功能不一定一直都需要(或想要),因此我想将它们放在单独的文件中,以便可以根据用户的需要将它们包括或省略。 应该如何
我已经尝试在 Stack Overflow 和其他网站上搜索使用 Sets 与 Lists 的优缺点和便利,但我真的找不到明确的答案何时使用这个或那个。 从 Hibernate 的文档中,他们声明非重
我是一名优秀的程序员,十分优秀!