title: NS_ASSUME_NONNULL_BEGIN Macro
body: <p>I am following an online tutorial from team tree house and one of the steps is to create an NSManagedObject subclass for my data model. </p>
  
  <p>When I did that the code automatically generated a class and set of macros at the beginning and and the end:</p>
  
  <p><strong>NS_ASSUME_NONNULL_BEGIN</strong></p>
  
  <p><strong>NS_ASSUME_NONNULL_END</strong></p>
  
  <p>I was searching online but I could not find any documentation about what these guys are doing here. By the way they were defined in the header <strong>NSObjCRuntime.h</strong></p>
  
  <p>Any ideas what purpose they serve?</p>