title: Multiple delegates or Notification center
body: <p>Let me explain. I have a data class that is little more than an instance of NSMutableArray. I've added a property of currentItem. When my app launches, an instance of this class is made and then shared with several view controllers. </p>
  
  <p>When any of those view controllers sets the current item ([myClass setCurrentItem:(MyItem*)item] I want to notify all of the view controllers so that they can update their UI etc...</p>
  
  <p>I am conflicted about the best way to implement a solution. I could either:</p>
  
  <p>1.) Use a custom protocol, have my class keep track of a collection of delegates by adding a method addDelegate:(id)instance, keep the collection of delegates in a NSMutableArray ivar, then iterate and communicate when currentItem is set.</p>
  
  <p>OR</p>
  
  <p>2.) Use NSNotification center to do this communicating when iVar is set.</p>
  
  <p>Calling order doesn't matter to me as far as the delegates go. </p>
  
  <p>Which approach is better suited for this situation? It seems to me that option #1 would be the cleaner way to do it, but my search results for "multiple delegates" suggests that I should use NSNotification center when there are multiple delegates, but not much reasoning behind it. </p>
  
  <p>What is your opinion and why?</p>