加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

swift – 将参数传递给方法时出现“调用中的额外参数”错误

发布时间:2020-12-14 05:38:17 所属栏目:百科 来源:网络整理
导读:我试图在 swift中编写以下Objective-C代码: NSCalendar *cal = [NSCalendar currentCalendar];NSDate *now = [NSDate date];NSDate *startOfTheWeek;NSTimeInterval interval;[cal rangeOfUnit:NSWeekCalendarUnit startDate:startOfTheWeek interval:inter
我试图在 swift中编写以下Objective-C代码:
NSCalendar *cal = [NSCalendar currentCalendar];
NSDate *now = [NSDate date];
NSDate *startOfTheWeek;
NSTimeInterval interval;
[cal rangeOfUnit:NSWeekCalendarUnit 
       startDate:&startOfTheWeek 
        interval:&interval 
         forDate:now];

它会写本周开始的时候开始的周期和周期间隔.

在我写的操场上

let now:NSDate = NSDate()
var startDate:NSDate
var duration: NSTimeInterval // also tried "var duration: CMutablePointer<NSTimeInterval>"
let cal = NSCalendar.currentCalendar()
cal.rangeOfUnit(unit: NSCalendarUnit.WeekCalendarUnit,startDate: startDate,interval: duration,forDate: now)"

虽然代码完成告诉我签名是

cal.rangeOfUnit(<#unit: NSCalendarUnit#>,startDate: AutoreleasingUnsafePointer<NSDate?>,interval: <#CMutablePointer<NSTimeInterval>#>,forDate: <#NSDate?#>)

在调用中说出额外参数’interval’时出错

我究竟做错了什么?

我也试过了

cal.rangeOfUnit(NSCalendarUnit.WeekCalendarUnit,forDate: now)

但这会产生错误

“could not find an overload for ‘rangeOfUnit’ that accepts the supplied arguments.”

试试这个:
let now = NSDate()
var startDate: NSDate? = nil
var duration: NSTimeInterval = 0
let cal = NSCalendar.currentCalendar()

cal.rangeOfUnit(NSCalendarUnit.WeekCalendarUnit,startDate: &startDate,interval: &duration,forDate: now)

(默认情况下,第一个参数没有外部名称,因此不应该命名.)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读