2015-09-15 6 views
6

ha funzionato perfettamente su Swift 1,2Swift 2.0 - errore costruttore di Google Analytics Event - NSMutableDictionary non è convertibile in [NSObject: ANYOBJECT]

codice:

var build = GAIDictionaryBuilder.createEventWithCategory("Record Counter", action: "Images Taken", label: "usersad", value: 1 ).build() as [NSObject : AnyObject] 
self.tracker.send(build) 

Errore:

NSMutableDictionary is not convertible to [NSObject : AnyObject] 

Qualche idea?

+1

Poiché si tratta di un dizionario C oggettivo, non è necessario eseguire alcun typecasting. Quando si esegue il bridge da un oggetto NSDictionary a un dizionario Swift, il dizionario risultante è di tipo [NSObject: AnyObject] – Shripada

+0

ho provato a eliminare il casting ma mi mostra lo stesso errore. quindi cosa dovrei fare? –

+0

@Shripada vedere il mio commento sopra per favore –

risposta

18

Stai trasmettendo l'evento sbagliato. Ecco il modo corretto e un modo per farlo.

let tracker = GAI.sharedInstance().defaultTracker 

inizializzare l'Individuazione evento come NSObject

let eventTracker: NSObject = GAIDictionaryBuilder.createEventWithCategory(
       "ui_action", 
       action: "button_press", 
       label: "play", 
       value: nil).build() 

Getta il tuo NSObject come ANYOBJECT all'interno del metodo di invio.

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

Grazie LGL! :) u r awesome –

+0

funziona ma è sfortunato: - \ – dowi

+0

dovrebbe essere l'ultima riga: tracker.send (eventTracker as! [NSObject: AnyObject]) – BuzzCloudAU