2016-03-18 30 views
0

我在尝试更新我的Google Analytics代码,但我发现其中有些内容但有所不同,在某些文件中它会工作而不在其他文件中,我不知道如果我实现它为好,代码的一部分:Google Analytics(分析):在Swift 2中创建ScreenView和createItemWithTransactionId

/******************************* 
* Tracker écran 
********************************/ 

let tracker = GAI.sharedInstance().defaultTracker 

tracker.set(kGAIDescription, value: "Demande Envoyé") 

let eventTracker: NSObject = GAIDictionaryBuilder.createScreenView().build() 

tracker.send(eventTracker as! [NSObject : AnyObject]) 

/******************************* 
* Tracker transaction 
********************************/ 


var rangeName = "" 

if let startRange = String(xml).rangeOfString("<Logement>"), endRange = String(xml).rangeOfString("</Logement>") where startRange.endIndex <= endRange.startIndex { 
    rangeName = String(xml)[startRange.endIndex..<endRange.startIndex] 
} else { 
    print("invalid input") 
} 

tracker.send(NSObject = GAIDictionaryBuilder.createItemWithTransactionId(String(format: (NSUserDefaults.standardUserDefaults().objectForKey("ApplicationUniqueIdentifier")!) as! String + String(id)), name: rangeName, sku: "", category: Configuration.MyVariables.typeForm, price: 1, quantity: 1, currencyCode: "").build() as! [NSObject : AnyObject]) 

的屏幕视图是工作,但我把它进行交易的错误:

无法指定类型NSObject中的“不变的表达。类型'

+0

哪里错误发生? – Valentin

+0

@Valentin for GAIDictionaryBuilder.createItemWithTransactionId – Ben

回答

0

在最后一行中,您尝试将新创建的对象分配给NSObject类,因此会出现Cannot assign to immutable expression of type 'NSObject.Type'错误。

您应该创建您的交易项目的方式相同的屏幕视图,所以你应该改变你的代码,使它看起来像这样:

let eventTracker2: NSObject = GAIDictionaryBuilder.createItemWithTransactionId(String(format: (NSUserDefaults.standardUserDefaults().objectForKey("ApplicationUniqueIdentifier")!) as! String + String(id)), name: rangeName, sku: "", category: Configuration.MyVariables.typeForm, price: 1, quantity: 1, currencyCode: "").build() 

tracker.send(eventTracker2 as! [NSObject : AnyObject]) 
+0

我无法解决警报'Cast from'NSMutableDictionary!'到不相关的类型'[NSObject:AnyObject]'总是失败'? – Ben

+0

由于发送一个NSDictionary,你有没有尝试删除“as![NSObject:AnyObject]”部分? – Valentin

+0

我已经尝试确定它说:'不能转换类型的值'NSMutableDictionary!'到期望的参数类型'[NSObject:AnyObject]!'' – Ben

相关问题