{"action":"created","comment":{"url":"https://api.github.com/repos/teamsnap/teamsnap-SDK-iOS/pulls/comments/186835228","pull_request_review_id":118494117,"id":186835228,"diff_hunk":"@@ -73,35 +73,106 @@\n #import \"TSDKEventLineup.h\"\n #import \"TSDKEventLineupEntry.h\"\n \n-static NSArray *supportedSDKObjects;\n+static NSArray *_supportedSDKObjects;\n static NSArray *knownCompletionTypes;\n \n @implementation TSDKObjectsRequest\n \n + (NSArray *)supportedSDKObjects {\n     static dispatch_once_t onceToken;\n     dispatch_once(&onceToken, ^{\n-        NSMutableArray *supportedObjects = [[NSMutableArray alloc] init];\n-        \n-        unsigned int classCount = 0;\n-        Class *classList = objc_copyClassList(&classCount);\n-        \n-        for (unsigned int i = 0; i < classCount; i++) {\n-            NSString *className = [NSString stringWithUTF8String:class_getName(classList[i])];\n-            if([className hasPrefix:@\"TSDK\"]) {\n-                Class class = NSClassFromString(className);\n-                \n-                if(class && [class isSubclassOfClass:[TSDKCollectionObject class]]) {\n-                    [supportedObjects addObject:class];\n-                }\n+        _supportedSDKObjects = @[[TSDKTeamFee class],\n+                               [TSDKOpponentResults class],\n+                               [TSDKPaymentNote class],\n+                               [TSDKForumTopic class],\n+                               [TSDKAdvertisement class],\n+                               [TSDKRootLinks class],\n+                               [TSDKApplePaidFeature class],\n+                               [TSDKAvailability class],\n+                               [TSDKApnDevice class],\n+                               [TSDKInvoice class],\n+                               [TSDKStatistic class],\n+                               [TSDKTeamResults class],\n+                               [TSDKBroadcastEmail class],\n+                               [TSDKMemberBalance class],\n+                               [TSDKPlan class],\n+                               [TSDKForumSubscription class],\n+                               [TSDKTslPhotos class],\n+                               [TSDKOpponent class],\n+                               [TSDKTimeZone class],\n+                               [TSDKMemberEmailAddress class],\n+                               [TSDKDivision class],\n+                               [TSDKLeagueCustomField class],\n+                               [TSDKEvent class],\n+                               [TSDKContactPhoneNumber class],\n+                               [TSDKMemberPayment class],\n+                               [TSDKTrackedItem class],\n+                               [TSDKTslMetadatum class],\n+                               [TSDKSport class],\n+                               [TSDKContact class],\n+                               [TSDKEventLineupEntry class],\n+                               [TSDKMemberPhoto class],\n+                               [TSDKSportPosition class],\n+                               [TSDKMemberPreferences class],\n+                               [TSDKMessage class],\n+                               [TSDKInvoicesAggregate class],\n+                               [TSDKCustomDatum class],\n+                               [TSDKTrackedItemStatus class],\n+                               [TSDKForumPost class],\n+                               [TSDKAssignment class],\n+                               [TSDKEventLineup class],\n+                               [TSDKMember class],\n+                               [TSDKTeam class],\n+                               [TSDKContactEmailAddress class],\n+                               [TSDKinvitationFinder class],\n+                               [TSDKTeamStatistic class],\n+                               [TSDKTeamMediaGroup class],\n+                               [TSDKTeamMediumComment class],\n+                               [TSDKStatisticDatum class],\n+                               [TSDKUser class],\n+                               [TSDKTeamMedium class],\n+                               [TSDKMemberAssignment class],\n+                               [TSDKCustomField class],\n+                               [TSDKMessagingPermission class],\n+                               [TSDKStatisticGroup class],\n+                               [TSDKMemberStatistic class],\n+                               [TSDKTslScore class],\n+                               [TSDKMemberPhoneNumber class],\n+                               [TSDKSmsGateway class],\n+                               [TSDKDivisionPreferences class],\n+                               [TSDKLeagueCustomDatum class],\n+                               [TSDKCountry class],\n+                               [TSDKMessageDatum class],\n+                               [TSDKBroadcastAlert class],\n+                               [TSDKEventStatistic class],\n+                               [TSDKTslChat class],\n+                               [TSDKTeamPreferences class],\n+                               [TSDKLocation class],\n+                               [TSDKDivisionLocation class]];\n+    });\n+    return _supportedSDKObjects;\n+}\n+\n++ (NSArray *)dynamicSupportedObjectsList {\n+    NSMutableArray *supportedObjects = [[NSMutableArray alloc] init];\n+\n+    unsigned int classCount = 0;\n+    Class *classList = objc_copyClassList(&classCount);\n+\n+    for (unsigned int i = 0; i < classCount; i++) {","path":"TeamSnapSDK/SDK/DataLayer/TSDKObjectsRequest.m","position":104,"original_position":104,"commit_id":"fc628722eeea3d6f41194f3a9221b3febd950865","original_commit_id":"fc628722eeea3d6f41194f3a9221b3febd950865","user":{"login":"larsacus","id":590216,"avatar_url":"https://avatars0.githubusercontent.com/u/590216?v=4","gravatar_id":"","url":"https://api.github.com/users/larsacus","html_url":"https://github.com/larsacus","followers_url":"https://api.github.com/users/larsacus/followers","following_url":"https://api.github.com/users/larsacus/following{/other_user}","gists_url":"https://api.github.com/users/larsacus/gists{/gist_id}","starred_url":"https://api.github.com/users/larsacus/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/larsacus/subscriptions","organizations_url":"https://api.github.com/users/larsacus/orgs","repos_url":"https://api.github.com/users/larsacus/repos","events_url":"https://api.github.com/users/larsacus/events{/privacy}","received_events_url":"https://api.github.com/users/larsacus/received_events","type":"User","site_admin":false},"body":"Then we can remove line 30/31 in the test for the static list","created_at":"2018-05-08T19:06:43Z","updated_at":"2018-05-08T19:06:43Z","html_url":"https://github.com/teamsnap/teamsnap-SDK-iOS/pull/272#discussion_r186835228","pull_request_url":"https://api.github.com/repos/teamsnap/teamsnap-SDK-iOS/pulls/272","author_association":"CONTRIBUTOR","_links":{"self":{"href":"https://api.github.com/repos/teamsnap/teamsnap-SDK-iOS/pulls/comments/186835228"},"html":{"href":"https://github.com/teamsnap/teamsnap-SDK-iOS/pull/272#discussion_r186835228"},"pull_request":{"href":"https://api.github.com/repos/teamsnap/teamsnap-SDK-iOS/pulls/272"}},"in_reply_to_id":186835100},"pull_request":{"url":"https://api.github.com/repos/teamsnap/teamsnap-SDK-iOS/pulls/272","id":186634524,"html_url":"https://github.com/teamsnap/teamsnap-SDK-iOS/pull/272","diff_url":"https://github.com/teamsnap/teamsnap-SDK-iOS/pull/272.diff","patch_url":"https://github.com/teamsnap/teamsnap-SDK-iOS/pull/272.patch","issue_url":"https://api.github.com/repos/teamsnap/teamsnap-SDK-iOS/issues/272","number":272,"state":"open","locked":false,"title":"Support Objects overhaul. List should be comprehensive","user":{"login":"jrahaim","id":1395886,"avatar_url":"https://avatars1.githubusercontent.com/u/1395886?v=4","gravatar_id":"","url":"https://api.github.com/users/jrahaim","html_url":"https://github.com/jrahaim","followers_url":"https://api.github.com/users/jrahaim/followers","following_url":"https://api.github.com/users/jrahaim/following{/other_user}","gists_url":"https://api.github.com/users/jrahaim/gists{/gist_id}","starred_url":"https://api.github.com/users/jrahaim/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrahaim/subscriptions","organizations_url":"https://api.github.com/users/jrahaim/orgs","repos_url":"https://api.github.com/users/jrahaim/repos","events_url":"https://api.github.com/users/jrahaim/events{/privacy}","received_events_url":"https://api.github.com/users/jrahaim/received_events","type":"User","site_admin":false},"body":"","created_at":"2018-05-08T13:29:23Z","updated_at":"2018-05-08T19:06:43Z","closed_at":null,"merged_at":null,"merge_commit_sha":"85ed3668833c691a8feec01a484221b21bf1d93e","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/teamsnap/teamsnap-SDK-iOS/pulls/272/commits","review_comments_url":"https://api.github.com/repos/teamsnap/teamsnap-SDK-iOS/pulls/272/comments","review_comment_url":"https://api.github.com/repos/teamsnap/teamsnap-SDK-iOS/pulls/comments{/number}","comments_url":"https://api.github.com/repos/teamsnap/teamsnap-SDK-iOS/issues/272/comments","statuses_url":"https://api.github.com/repos/teamsnap/teamsnap-SDK-iOS/statuses/fc628722eeea3d6f41194f3a9221b3febd950865","head":{"label":"teamsnap:SupportedObjects","ref":"SupportedObjects","sha":"fc628722eeea3d6f41194f3a9221b3febd950865","user":{"login":"teamsnap","id":69031,"avatar_url":"https://avatars1.githubusercontent.com/u/69031?v=4","gravatar_id":"","url":"https://api.github.com/users/teamsnap","html_url":"https://github.com/teamsnap","followers_url":"https://api.github.com/users/teamsnap/followers","following_url":"https://api.github.com/users/teamsnap/following{/other_user}","gists_url":"https://api.github.com/users/teamsnap/gists{/gist_id}","starred_url":"https://api.github.com/users/teamsnap/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/teamsnap/subscriptions","organizations_url":"https://api.github.com/users/teamsnap/orgs","repos_url":"https://api.github.com/users/teamsnap/repos","events_url":"https://api.github.com/users/teamsnap/events{/privacy}","received_events_url":"https://api.github.com/users/teamsnap/received_events","type":"Organization","site_admin":false},"repo":{"id":42661694,"name":"teamsnap-SDK-iOS","full_name":"teamsnap/teamsnap-SDK-iOS","owner":{"login":"teamsnap","id":69031,"avatar_url":"https://avatars1.githubusercontent.com/u/69031?v=4","gravatar_id":"","url":"https://api.github.com/users/teamsnap","html_url":"https://github.com/teamsnap","followers_url":"https://api.github.com/users/teamsnap/followers","following_url":"https://api.github.com/users/teamsnap/following{/other_user}","gists_url":"https://api.github.com/users/teamsnap/gists{/gist_id}","starred_url":"https://api.github.com/users/teamsnap/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/teamsnap/subscriptions","organizations_url":"https://api.github.com/users/teamsnap/orgs","repos_url":"https://api.github.com/users/teamsnap/repos","events_url":"https://api.github.com/users/teamsnap/events{/privacy}","received_events_url":"https://api.github.com/users/teamsnap/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/teamsnap/teamsnap-SDK-iOS","description":"Source code for the TeamSnap iOS SDK","fork":false,"url":"https://api.github.com/repos/teamsnap/teamsnap-SDK-iOS","forks_url":"https://api.github.com/repos/teamsnap/teamsnap-SDK-iOS/forks","keys_url":"https://api.github.com/repos/teamsnap/teamsnap-SDK-iOS/keys{/key_id}","collaborators_url":"https://api.github.com/repos/teamsnap/teamsnap-SDK-iOS/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/teamsnap/teamsnap-SDK-iOS/teams","hooks_url":"https://api.github.com/repos/teamsnap/teamsnap-SDK-iOS/hooks","issue_events_url":"https://api.github.com/repos/teamsnap/teamsnap-SDK-iOS/issues/events{/number}","events_url":"https://api.github.com/repos/teamsnap/teamsnap-SDK-iOS/events","assignees_url":"https://api.github.com/repos/teamsnap/teamsnap-SDK-iOS/assignees{/user}","branches_url":"https://api.github.com/repos/teamsnap/teamsnap-SDK-iOS/branches{/branch}","tags_url":"https://api.github.com/repos/teamsnap/teamsnap-SDK-iOS/tags","blobs_url":"https://api.github.com/repos/teamsnap/teamsnap-SDK-iOS/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/teamsnap/teamsnap-SDK-iOS/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/teamsnap/teamsnap-SDK-iOS/git/refs{/sha}","trees_url":"https://api.github.com/repos/teamsnap/teamsnap-SDK-iOS/git/trees{/sha}","statuses_url":"https://api.github.com/repos/teamsnap/teamsnap-SDK-iOS/statuses/{sha}","languages_url":"https://api.github.com/repos/teamsnap/teamsnap-SDK-iOS/languages","stargazers_url":"https://api.github.com/repos/teamsnap/teamsnap-SDK-iOS/stargazers","contributors_url":"https://api.github.com/repos/teamsnap/teamsnap-SDK-iOS/contributors","subscribers_url":"https://api.github.com/repos/teamsnap/teamsnap-SDK-iOS/subscribers","subscription_url":"https://api.github.com/repos/teamsnap/teamsnap-SDK-iOS/subscription","commits_url":"https://api.github.com/repos/teamsnap/teamsnap-SDK-iOS/commits{/sha}","git_commits_url":"https://api.github.com/repos/teamsnap/teamsnap-SDK-iOS/git/commits{/sha}","comments_url":"https://api.github.com/repos/teamsnap/teamsnap-SDK-iOS/comments{/number}","issue_comment_url":"https://api.github.com/repos/teamsnap/teamsnap-SDK-iOS/issues/comments{/number}","contents_url":"https://api.github.com/repos/teamsnap/teamsnap-SDK-iOS/contents/{+path}","compare_url":"https://api.github.com/repos/teamsnap/teamsnap-SDK-iOS/compare/{base}...{head}","merges_url":"https://api.github.com/repos/teamsnap/teamsnap-SDK-iOS/merges","archive_url":"https://api.github.com/repos/teamsnap/teamsnap-SDK-iOS/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/teamsnap/teamsnap-SDK-iOS/downloads","issues_url":"https://api.github.com/repos/teamsnap/teamsnap-SDK-iOS/issues{/number}","pulls_url":"https://api.github.com/repos/teamsnap/teamsnap-SDK-iOS/pulls{/number}","milestones_url":"https://api.github.com/repos/teamsnap/teamsnap-SDK-iOS/milestones{/number}","notifications_url":"https://api.github.com/repos/teamsnap/teamsnap-SDK-iOS/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/teamsnap/teamsnap-SDK-iOS/labels{/name}","releases_url":"https://api.github.com/repos/teamsnap/teamsnap-SDK-iOS/releases{/id}","deployments_url":"https://api.github.com/repos/teamsnap/teamsnap-SDK-iOS/deployments","created_at":"2015-09-17T14:41:14Z","updated_at":"2018-05-04T20:44:34Z","pushed_at":"2018-05-08T18:44:48Z","git_url":"git://github.com/teamsnap/teamsnap-SDK-iOS.git","ssh_url":"git@github.com:teamsnap/teamsnap-SDK-iOS.git","clone_url":"https://github.com/teamsnap/teamsnap-SDK-iOS.git","svn_url":"https://github.com/teamsnap/teamsnap-SDK-iOS","homepage":null,"size":1187,"stargazers_count":0,"watchers_count":0,"language":"Objective-C","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1,"mirror_url":null,"archived":false,"open_issues_count":13,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit"},"forks":1,"open_issues":13,"watchers":0,"default_branch":"develop"}},"base":{"label":"teamsnap:develop","ref":"develop","sha":"7a7bbd0a6a1cd72ca557f42abe00c6eedb97dc0d","user":{"login":"teamsnap","id":69031,"avatar_url":"https://avatars1.githubusercontent.com/u/69031?v=4","gravatar_id":"","url":"https://api.github.com/users/teamsnap","html_url":"https://github.com/teamsnap","followers_url":"https://api.github.com/users/teamsnap/followers","following_url":"https://api.github.com/users/teamsnap/following{/other_user}","gists_url":"https://api.github.com/users/teamsnap/gists{/gist_id}","starred_url":"https://api.github.com/users/teamsnap/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/teamsnap/subscriptions","organizations_url":"https://api.github.com/users/teamsnap/orgs","repos_url":"https://api.github.com/users/teamsnap/repos","events_url":"https://api.github.com/users/teamsnap/events{/privacy}","received_events_url":"https://api.github.com/users/teamsnap/received_events","type":"Organization","site_admin":false},"repo":{"id":42661694,"name":"teamsnap-SDK-iOS","full_name":"teamsnap/teamsnap-SDK-iOS","owner":{"login":"teamsnap","id":69031,"avatar_url":"https://avatars1.githubusercontent.com/u/69031?v=4","gravatar_id":"","url":"https://api.github.com/users/teamsnap","html_url":"https://github.com/teamsnap","followers_url":"https://api.github.com/users/teamsnap/followers","following_url":"https://api.github.com/users/teamsnap/following{/other_user}","gists_url":"https://api.github.com/users/teamsnap/gists{/gist_id}","starred_url":"https://api.github.com/users/teamsnap/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/teamsnap/subscriptions","organizations_url":"https://api.github.com/users/teamsnap/orgs","repos_url":"https://api.github.com/users/teamsnap/repos","events_url":"https://api.github.com/users/teamsnap/events{/privacy}","received_events_url":"https://api.github.com/users/teamsnap/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/teamsnap/teamsnap-SDK-iOS","description":"Source code for the TeamSnap iOS SDK","fork":false,"url":"https://api.github.com/repos/teamsnap/teamsnap-SDK-iOS","forks_url":"https://api.github.com/repos/teamsnap/teamsnap-SDK-iOS/forks","keys_url":"https://api.github.com/repos/teamsnap/teamsnap-SDK-iOS/keys{/key_id}","collaborators_url":"https://api.github.com/repos/teamsnap/teamsnap-SDK-iOS/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/teamsnap/teamsnap-SDK-iOS/teams","hooks_url":"https://api.github.com/repos/teamsnap/teamsnap-SDK-iOS/hooks","issue_events_url":"https://api.github.com/repos/teamsnap/teamsnap-SDK-iOS/issues/events{/number}","events_url":"https://api.github.com/repos/teamsnap/teamsnap-SDK-iOS/events","assignees_url":"https://api.github.com/repos/teamsnap/teamsnap-SDK-iOS/assignees{/user}","branches_url":"https://api.github.com/repos/teamsnap/teamsnap-SDK-iOS/branches{/branch}","tags_url":"https://api.github.com/repos/teamsnap/teamsnap-SDK-iOS/tags","blobs_url":"https://api.github.com/repos/teamsnap/teamsnap-SDK-iOS/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/teamsnap/teamsnap-SDK-iOS/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/teamsnap/teamsnap-SDK-iOS/git/refs{/sha}","trees_url":"https://api.github.com/repos/teamsnap/teamsnap-SDK-iOS/git/trees{/sha}","statuses_url":"https://api.github.com/repos/teamsnap/teamsnap-SDK-iOS/statuses/{sha}","languages_url":"https://api.github.com/repos/teamsnap/teamsnap-SDK-iOS/languages","stargazers_url":"https://api.github.com/repos/teamsnap/teamsnap-SDK-iOS/stargazers","contributors_url":"https://api.github.com/repos/teamsnap/teamsnap-SDK-iOS/contributors","subscribers_url":"https://api.github.com/repos/teamsnap/teamsnap-SDK-iOS/subscribers","subscription_url":"https://api.github.com/repos/teamsnap/teamsnap-SDK-iOS/subscription","commits_url":"https://api.github.com/repos/teamsnap/teamsnap-SDK-iOS/commits{/sha}","git_commits_url":"https://api.github.com/repos/teamsnap/teamsnap-SDK-iOS/git/commits{/sha}","comments_url":"https://api.github.com/repos/teamsnap/teamsnap-SDK-iOS/comments{/number}","issue_comment_url":"https://api.github.com/repos/teamsnap/teamsnap-SDK-iOS/issues/comments{/number}","contents_url":"https://api.github.com/repos/teamsnap/teamsnap-SDK-iOS/contents/{+path}","compare_url":"https://api.github.com/repos/teamsnap/teamsnap-SDK-iOS/compare/{base}...{head}","merges_url":"https://api.github.com/repos/teamsnap/teamsnap-SDK-iOS/merges","archive_url":"https://api.github.com/repos/teamsnap/teamsnap-SDK-iOS/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/teamsnap/teamsnap-SDK-iOS/downloads","issues_url":"https://api.github.com/repos/teamsnap/teamsnap-SDK-iOS/issues{/number}","pulls_url":"https://api.github.com/repos/teamsnap/teamsnap-SDK-iOS/pulls{/number}","milestones_url":"https://api.github.com/repos/teamsnap/teamsnap-SDK-iOS/milestones{/number}","notifications_url":"https://api.github.com/repos/teamsnap/teamsnap-SDK-iOS/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/teamsnap/teamsnap-SDK-iOS/labels{/name}","releases_url":"https://api.github.com/repos/teamsnap/teamsnap-SDK-iOS/releases{/id}","deployments_url":"https://api.github.com/repos/teamsnap/teamsnap-SDK-iOS/deployments","created_at":"2015-09-17T14:41:14Z","updated_at":"2018-05-04T20:44:34Z","pushed_at":"2018-05-08T18:44:48Z","git_url":"git://github.com/teamsnap/teamsnap-SDK-iOS.git","ssh_url":"git@github.com:teamsnap/teamsnap-SDK-iOS.git","clone_url":"https://github.com/teamsnap/teamsnap-SDK-iOS.git","svn_url":"https://github.com/teamsnap/teamsnap-SDK-iOS","homepage":null,"size":1187,"stargazers_count":0,"watchers_count":0,"language":"Objective-C","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1,"mirror_url":null,"archived":false,"open_issues_count":13,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit"},"forks":1,"open_issues":13,"watchers":0,"default_branch":"develop"}},"_links":{"self":{"href":"https://api.github.com/repos/teamsnap/teamsnap-SDK-iOS/pulls/272"},"html":{"href":"https://github.com/teamsnap/teamsnap-SDK-iOS/pull/272"},"issue":{"href":"https://api.github.com/repos/teamsnap/teamsnap-SDK-iOS/issues/272"},"comments":{"href":"https://api.github.com/repos/teamsnap/teamsnap-SDK-iOS/issues/272/comments"},"review_comments":{"href":"https://api.github.com/repos/teamsnap/teamsnap-SDK-iOS/pulls/272/comments"},"review_comment":{"href":"https://api.github.com/repos/teamsnap/teamsnap-SDK-iOS/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/teamsnap/teamsnap-SDK-iOS/pulls/272/commits"},"statuses":{"href":"https://api.github.com/repos/teamsnap/teamsnap-SDK-iOS/statuses/fc628722eeea3d6f41194f3a9221b3febd950865"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"larsacus"}}