ObjC 到 Swift NSDictionary 到 NSObject 的转换:AnyObject

ObjC to Swift conversion of NSDictionary to NSObject : AnyObject

我正在使用 Swift 实现 Segment.com 的 iOS 库并且一切正常,只是停留在 identify 方法下面的代码转换上:

参考:https://segment.com/docs/libraries/ios/#identify

[[SEGAnalytics sharedAnalytics] identify:@"userId"
                                traits:@{ @"email": @"em@il.com" }];

其中 traitsNSDictionary *, optional

Xcode 告诉我(提前输入提示)在 Swift 中它转换为:

SEGAnalytics.sharedAnalytics().identify(userId: String!, traits: [NSObject : AnyObject]!)

作为一名新的 Swift 开发人员,我正在努力获得正确的语法以将对象发送到特征中。如何将我的一组预定义可选字典发送到特征部分?类似于:{email : email!, name : fullName!}

请尝试这样使用

var traitsDic : NSDictionary! = [ "email": "em@il.com", "firstName" : "Name" ]
var traits = traitsDic as Dictionary<String, AnyObject>

SEGAnalytics.sharedAnalytics().identify(userId: String!, traits: traits)