无法为类型' NSMutableDictionary'调用初始化程序。使用类型的参数列表

时间:2015-09-25 14:09:49

标签: swift nsmutabledictionary

  

无法为类型' NSMutableDictionary'调用初始化程序。使用类型'的参数列表(objectsAndKeys:String,String,String,String,String,String,NSNumber,String,String,String)'

任何人都有关于我为什么会收到此错误的想法?

data = NSMutableDictionary(objectsAndKeys:
            VPDateFormatter.dateFormatterPost.stringFromDate(NSDate().myGetDateWithDayDifference(dateOffset)), "activityDate",
            tracker.objectForKey(VPTracker_Description) as! String, "activityDescription",
            trackerType, "activityType",
            currentMemberID, "memberid",
            VPDateFormatter.dateFormatterOnlyDate.stringFromDate(date), kVPTrackerStatistic_MemberDate
        )

2 个答案:

答案 0 :(得分:2)

我非常确定swift将该特定方法定义为

NSMutableDictionary(objects: <#T##[AnyObject]#>, forKeys: <#T##[NSCopying]#>)

所以你必须相应地调整。我知道它确实在2.0

事实上我建议使用swift DataTypes我知道它可能是来自客观c的痛苦而已经习惯了但值得的,我会在这里使用词典

答案 1 :(得分:0)

使用swift,您可以使用var Dictionary<String, AnyObject>代替NSMutableDictionary

var data = [
        "activityDate" : VPDateFormatter.dateFormatterPost.stringFromDate(NSDate().myGetDateWithDayDifference(dateOffset)),
        "activityDescription" : tracker.objectForKey(VPTracker_Description) as! String,
        "activityType" : trackerType,
        "memberid" : currentMemberID,
        kVPTrackerStatistic_MemberDate : VPDateFormatter.dateFormatterOnlyDate.stringFromDate(date) 
]

使用此表示法可能允许swift编译器查明您遇到的任何错误,而不是有关方法签名的长错误。此外,这将为您提供类型检查!