Currently, if I create a header file in Xcode, it creates one with
#ifndef Types_h
#define Types_h
// ..
But if I create a Cocoa class, then the header generated is of the form
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
// ..
Is #ifndef
not required in the later case? Does Objective-C automatically include only headers once?