{"action":"created","issue":{"url":"https://api.github.com/repos/jessesquires/JSQDataSourcesKit/issues/80","repository_url":"https://api.github.com/repos/jessesquires/JSQDataSourcesKit","labels_url":"https://api.github.com/repos/jessesquires/JSQDataSourcesKit/issues/80/labels{/name}","comments_url":"https://api.github.com/repos/jessesquires/JSQDataSourcesKit/issues/80/comments","events_url":"https://api.github.com/repos/jessesquires/JSQDataSourcesKit/issues/80/events","html_url":"https://github.com/jessesquires/JSQDataSourcesKit/issues/80","id":195320213,"number":80,"title":"Refine TableEditingController design","user":{"login":"jessesquires","id":2301114,"avatar_url":"https://avatars.githubusercontent.com/u/2301114?v=3","gravatar_id":"","url":"https://api.github.com/users/jessesquires","html_url":"https://github.com/jessesquires","followers_url":"https://api.github.com/users/jessesquires/followers","following_url":"https://api.github.com/users/jessesquires/following{/other_user}","gists_url":"https://api.github.com/users/jessesquires/gists{/gist_id}","starred_url":"https://api.github.com/users/jessesquires/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jessesquires/subscriptions","organizations_url":"https://api.github.com/users/jessesquires/orgs","repos_url":"https://api.github.com/users/jessesquires/repos","events_url":"https://api.github.com/users/jessesquires/events{/privacy}","received_events_url":"https://api.github.com/users/jessesquires/received_events","type":"User","site_admin":false},"labels":[{"id":174819949,"url":"https://api.github.com/repos/jessesquires/JSQDataSourcesKit/labels/bug","name":"bug","color":"f7c6c7","default":true},{"id":174819951,"url":"https://api.github.com/repos/jessesquires/JSQDataSourcesKit/labels/enhancement","name":"enhancement","color":"d4c5f9","default":true}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/jessesquires/JSQDataSourcesKit/milestones/11","html_url":"https://github.com/jessesquires/JSQDataSourcesKit/milestone/11","labels_url":"https://api.github.com/repos/jessesquires/JSQDataSourcesKit/milestones/11/labels","id":2041453,"number":11,"title":"6.1.0","description":"","creator":{"login":"jessesquires","id":2301114,"avatar_url":"https://avatars.githubusercontent.com/u/2301114?v=3","gravatar_id":"","url":"https://api.github.com/users/jessesquires","html_url":"https://github.com/jessesquires","followers_url":"https://api.github.com/users/jessesquires/followers","following_url":"https://api.github.com/users/jessesquires/following{/other_user}","gists_url":"https://api.github.com/users/jessesquires/gists{/gist_id}","starred_url":"https://api.github.com/users/jessesquires/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jessesquires/subscriptions","organizations_url":"https://api.github.com/users/jessesquires/orgs","repos_url":"https://api.github.com/users/jessesquires/repos","events_url":"https://api.github.com/users/jessesquires/events{/privacy}","received_events_url":"https://api.github.com/users/jessesquires/received_events","type":"User","site_admin":false},"open_issues":2,"closed_issues":10,"state":"open","created_at":"2016-10-01T10:26:59Z","updated_at":"2016-12-23T00:22:12Z","due_on":null,"closed_at":null},"comments":8,"created_at":"2016-12-13T17:41:40Z","updated_at":"2016-12-23T16:09:10Z","closed_at":null,"body":"We added [`TableEditingController`](https://github.com/jessesquires/JSQDataSourcesKit/blob/develop/Source/TableEditingController.swift) in #67. \r\n\r\n#### There's one awkward thing about the design:\r\n\r\nYou have to capture the `dataSource` in the `commitEditing` closure, as [seen here](https://github.com/jessesquires/JSQDataSourcesKit/blob/develop/Example/Sources/TableViewController.swift#L61) in the example. This also makes it [awkward to test](https://github.com/jessesquires/JSQDataSourcesKit/blob/develop/Tests/DataSourceProviderTests.swift#L388-L389). There's a kind of \"chicken and egg\" problem.\r\n\r\n#### Suggested solution:\r\n\r\nMaybe we pass `DataSourceProtocol` back in this closure? I think that would work.\r\n\r\nThis would then require moving the `remove(at:)` methods from the `DataSource` to the `DataSourceProtocol`. And we would need to figure out a solution for `FetchedResultsController` here — probably the hardest part.\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/jessesquires/JSQDataSourcesKit/issues/comments/269011473","html_url":"https://github.com/jessesquires/JSQDataSourcesKit/issues/80#issuecomment-269011473","issue_url":"https://api.github.com/repos/jessesquires/JSQDataSourcesKit/issues/80","id":269011473,"user":{"login":"jessesquires","id":2301114,"avatar_url":"https://avatars.githubusercontent.com/u/2301114?v=3","gravatar_id":"","url":"https://api.github.com/users/jessesquires","html_url":"https://github.com/jessesquires","followers_url":"https://api.github.com/users/jessesquires/followers","following_url":"https://api.github.com/users/jessesquires/following{/other_user}","gists_url":"https://api.github.com/users/jessesquires/gists{/gist_id}","starred_url":"https://api.github.com/users/jessesquires/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jessesquires/subscriptions","organizations_url":"https://api.github.com/users/jessesquires/orgs","repos_url":"https://api.github.com/users/jessesquires/repos","events_url":"https://api.github.com/users/jessesquires/events{/privacy}","received_events_url":"https://api.github.com/users/jessesquires/received_events","type":"User","site_admin":false},"created_at":"2016-12-23T16:09:10Z","updated_at":"2016-12-23T16:09:10Z","body":"Ha. Damn. Ok, I'll play around with this. 😄 "}}
{"actor":{"display_login":"jessesquires"}}