{"action":"opened","issue":{"url":"https://api.github.com/repos/ReactiveCocoa/ReactiveCocoa/issues/2822","repository_url":"https://api.github.com/repos/ReactiveCocoa/ReactiveCocoa","labels_url":"https://api.github.com/repos/ReactiveCocoa/ReactiveCocoa/issues/2822/labels{/name}","comments_url":"https://api.github.com/repos/ReactiveCocoa/ReactiveCocoa/issues/2822/comments","events_url":"https://api.github.com/repos/ReactiveCocoa/ReactiveCocoa/issues/2822/events","html_url":"https://github.com/ReactiveCocoa/ReactiveCocoa/issues/2822","id":150814744,"number":2822,"title":"[Questions] Signal/Producer of a property","user":{"login":"jozsef-vesza","id":2749464,"avatar_url":"https://avatars.githubusercontent.com/u/2749464?v=3","gravatar_id":"","url":"https://api.github.com/users/jozsef-vesza","html_url":"https://github.com/jozsef-vesza","followers_url":"https://api.github.com/users/jozsef-vesza/followers","following_url":"https://api.github.com/users/jozsef-vesza/following{/other_user}","gists_url":"https://api.github.com/users/jozsef-vesza/gists{/gist_id}","starred_url":"https://api.github.com/users/jozsef-vesza/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jozsef-vesza/subscriptions","organizations_url":"https://api.github.com/users/jozsef-vesza/orgs","repos_url":"https://api.github.com/users/jozsef-vesza/repos","events_url":"https://api.github.com/users/jozsef-vesza/events{/privacy}","received_events_url":"https://api.github.com/users/jozsef-vesza/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2016-04-25T10:23:43Z","updated_at":"2016-04-25T10:23:43Z","closed_at":null,"body":"My view model exposes the following observable property,\r\n```swift\r\npublic let comics: AnyProperty<[ComicType]>\r\n```\r\nwhich I set up during initialization\r\n```swift\r\ncomics = AnyProperty(initialValue: [], producer: combinedProducer)\r\n```\r\n\r\nIf I understand correctly, this will bind the value of `comics` to `combinedProducer`, which in turn, will also start the producer (so it starts sending values).\r\n\r\nIn my view controller, I observe this property\r\n```swift\r\nviewModel.comics.signal\r\n    .observeOn(UIScheduler())\r\n    .observe() { [unowned self] event in\r\n        self.collectionView.reloadData()\r\n}\r\n```\r\n\r\nHere. I observe the *signal*, instead of the producer: in theory, I could miss events, but things work just as expected. I have a feeling, that this is only due to good timing, and in practice, my controller _could_  miss some events.\r\n\r\nSo my question is: is this safe, or should I observe the producer instead?\r\n\r\nAlso, is it better to ask these questions on Slack? This way, things are \"documented\", but I do feel bad about flooding your issues with my questions. 😅\r\n\r\nThanks!"}}