title: Meaning of the angle brackets in Objective-C?
body: <p>Even though the question is quite wide I am actually curious regarding one case I sow recently while using the <a href="https://realm.io/" rel="nofollow">Realm library</a>. As I previously used the protocols(delegate) on many occasions and also imported classes using &lt;>. And now this is the line the code I don't completely understand or don't understand at all if I am mistaking:</p>
  
  <pre><code>@property (nonatomic, strong) RLMArray &lt;ExerciseLog *&gt;&lt;ExerciseLog&gt; * exerciseLogs;
  </code></pre>
  
  <p>I suppose that the second part of the line <code>&lt;ExerciseLog&gt; * exerciseLogs</code> is used to ensure that exerciseLogs may be an instance of any ExerciseLog that conforms to the ExerciseLog protocol, is my assumption correct?</p>
  
  <p>Or simple said if the user send a different object then the expected one, the app won't crash, and that a default value will be assigned. </p>
  
  <p>And this part I am guessing, the  is some sort of safe casting so that the returned object confirms to the ExerciseLog.</p>