{"action":"created","issue":{"url":"https://api.github.com/repos/orta/ARAnalytics/issues/233","repository_url":"https://api.github.com/repos/orta/ARAnalytics","labels_url":"https://api.github.com/repos/orta/ARAnalytics/issues/233/labels{/name}","comments_url":"https://api.github.com/repos/orta/ARAnalytics/issues/233/comments","events_url":"https://api.github.com/repos/orta/ARAnalytics/issues/233/events","html_url":"https://github.com/orta/ARAnalytics/issues/233","id":120044447,"number":233,"title":"DSL with Swift","user":{"login":"scisci","id":1807438,"avatar_url":"https://avatars.githubusercontent.com/u/1807438?v=3","gravatar_id":"","url":"https://api.github.com/users/scisci","html_url":"https://github.com/scisci","followers_url":"https://api.github.com/users/scisci/followers","following_url":"https://api.github.com/users/scisci/following{/other_user}","gists_url":"https://api.github.com/users/scisci/gists{/gist_id}","starred_url":"https://api.github.com/users/scisci/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/scisci/subscriptions","organizations_url":"https://api.github.com/users/scisci/orgs","repos_url":"https://api.github.com/users/scisci/repos","events_url":"https://api.github.com/users/scisci/events{/privacy}","received_events_url":"https://api.github.com/users/scisci/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":7,"created_at":"2015-12-02T21:54:47Z","updated_at":"2016-02-12T12:14:25Z","closed_at":null,"body":"Would be great to have support for the aspect-oriented DSL style tracking in Swift.\r\n\r\nI can get tracked screens and some events to come through, but for events, some selectors don't seem to work and can't figure out how to properly type the Properties callback.\r\n\r\nThe following is working for me for now:\r\n\r\n```\r\nlet trackedEvents =  [\r\n        [\r\n            ARAnalyticsClass: AccountEditVC.self,\r\n            ARAnalyticsDetails: [\r\n                [\r\n                    ARAnalyticsEventName: \"Account Edit Save Button\",\r\n                    ARAnalyticsSelectorName: \"saveChangesBtnTapped:\"\r\n                ],\r\n            ]\r\n        ]\r\n   ]\r\n\r\nlet trackedScreens = [\r\n     [\r\n        ARAnalyticsClass: FeaturesVC.self,\r\n        ARAnalyticsDetails: [[ARAnalyticsPageName: \"Slideshow\"]]\r\n      ]\r\n]\r\n```\r\n\r\nCan't figure out how to do properties though. And sometimes selectors that aren't IBOutlets are never called."},"comment":{"url":"https://api.github.com/repos/orta/ARAnalytics/issues/comments/183299026","html_url":"https://github.com/orta/ARAnalytics/issues/233#issuecomment-183299026","issue_url":"https://api.github.com/repos/orta/ARAnalytics/issues/233","id":183299026,"user":{"login":"timbroder","id":121503,"avatar_url":"https://avatars.githubusercontent.com/u/121503?v=3","gravatar_id":"","url":"https://api.github.com/users/timbroder","html_url":"https://github.com/timbroder","followers_url":"https://api.github.com/users/timbroder/followers","following_url":"https://api.github.com/users/timbroder/following{/other_user}","gists_url":"https://api.github.com/users/timbroder/gists{/gist_id}","starred_url":"https://api.github.com/users/timbroder/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/timbroder/subscriptions","organizations_url":"https://api.github.com/users/timbroder/orgs","repos_url":"https://api.github.com/users/timbroder/repos","events_url":"https://api.github.com/users/timbroder/events{/privacy}","received_events_url":"https://api.github.com/users/timbroder/received_events","type":"User","site_admin":false},"created_at":"2016-02-12T12:14:25Z","updated_at":"2016-02-12T12:14:25Z","body":"Thanks. I did have that at first, I should have specified. But then quicktest: should have worked, no?\r\n\r\nI've updated, but still issues. I've also tried just \"quicktest\"\r\n\r\n```swift\r\n        let trackedEvents =  [\r\n            [\r\n                ARAnalyticsClass: LoadingViewController.self,\r\n                ARAnalyticsDetails: [\r\n                    [\r\n                        ARAnalyticsEventName: \"LandingRegisterButtonTapped\",\r\n                        ARAnalyticsSelectorName: \"tapRegister:\"\r\n                    ],\r\n                    [\r\n                        ARAnalyticsEventName: \"LandingLoginButtonTapped\",\r\n                        ARAnalyticsSelectorName: \"tapLogin:\"\r\n                    ],\r\n                    [\r\n                        ARAnalyticsEventName: \"QuickTest\",\r\n                        ARAnalyticsSelectorName: \"quicktest:\"\r\n                    ],\r\n                ]\r\n            ],\r\n        ]\r\n```"}}