Swift 分机,调用中参数 #1 缺少参数
Swift Extension, Missing Argument For Parameter #1 In Call
我会尽可能简短。
我有一个 NSDate 扩展,我在整个应用程序中用于很多事情,但是我 运行 遇到了一个(奇怪的)非常简单的函数的问题。
扩展的相关部分是:
import Foundation
extension NSDate {
func nineAMMonday() -> NSDate {
let greg = NSCalendar.currentCalendar()
let componenets = NSDateComponents()
componenets.weekday = 2
componenets.hour = 9
componenets.minute = 0
componenets.second = 0
return greg.dateFromComponents(componenets)!
}
}
它的目的只是 return 一个指的是星期一早上的 NSDate。
目前一切顺利...
问题是当我尝试调用此函数时出现错误:
Missing Argument For Parameter #1 In Call
我在这里 读到有人遇到了类似的问题,但是他们的代码很长而且令人困惑,我不明白答案。如果提供简单的解释和修复,我认为这对一般社区会有用。
提前感谢您的帮助!
洛伊克
我只是尝试了一下(在操场上)并且它有效。
我认为你的错误在于你的方法的调用。
由于您的方法是实例方法,因此您必须在现有日期对象上调用它。
所以试着这样称呼它:
import Foundation
extension NSDate {
func nineAMMonday() -> NSDate {
let greg = NSCalendar.currentCalendar()
let componenets = NSDateComponents()
componenets.weekday = 2
componenets.hour = 9
componenets.minute = 0
componenets.second = 0
return greg.dateFromComponents(componenets)!
}
}
// Call
var date = NSDate();
date.nineAMMonday()
但在你的情况下,最好的办法是 class 函数。
import Foundation
extension NSDate {
class func nineAMMonday() -> NSDate {
let greg = NSCalendar.currentCalendar()
let componenets = NSDateComponents()
componenets.weekday = 2
componenets.hour = 9
componenets.minute = 0
componenets.second = 0
return greg.dateFromComponents(componenets)!
}
}
// Call
NSDate.nineAMMonday()
我会尽可能简短。
我有一个 NSDate 扩展,我在整个应用程序中用于很多事情,但是我 运行 遇到了一个(奇怪的)非常简单的函数的问题。
扩展的相关部分是:
import Foundation
extension NSDate {
func nineAMMonday() -> NSDate {
let greg = NSCalendar.currentCalendar()
let componenets = NSDateComponents()
componenets.weekday = 2
componenets.hour = 9
componenets.minute = 0
componenets.second = 0
return greg.dateFromComponents(componenets)!
}
}
它的目的只是 return 一个指的是星期一早上的 NSDate。
目前一切顺利...
问题是当我尝试调用此函数时出现错误:
Missing Argument For Parameter #1 In Call
我在这里 读到有人遇到了类似的问题,但是他们的代码很长而且令人困惑,我不明白答案。如果提供简单的解释和修复,我认为这对一般社区会有用。
提前感谢您的帮助!
洛伊克
我只是尝试了一下(在操场上)并且它有效。 我认为你的错误在于你的方法的调用。 由于您的方法是实例方法,因此您必须在现有日期对象上调用它。 所以试着这样称呼它:
import Foundation
extension NSDate {
func nineAMMonday() -> NSDate {
let greg = NSCalendar.currentCalendar()
let componenets = NSDateComponents()
componenets.weekday = 2
componenets.hour = 9
componenets.minute = 0
componenets.second = 0
return greg.dateFromComponents(componenets)!
}
}
// Call
var date = NSDate();
date.nineAMMonday()
但在你的情况下,最好的办法是 class 函数。
import Foundation
extension NSDate {
class func nineAMMonday() -> NSDate {
let greg = NSCalendar.currentCalendar()
let componenets = NSDateComponents()
componenets.weekday = 2
componenets.hour = 9
componenets.minute = 0
componenets.second = 0
return greg.dateFromComponents(componenets)!
}
}
// Call
NSDate.nineAMMonday()