Define a macro like this

#define FOO_DESIGNATED_INITIALIZER NS_DESIGNATED_INITIALIZER; \
    /** Unavailable. Use the designated initializer instead */ \
    + (instancetype)new NS_UNAVAILABLE; \
    /** Unavailable. Use the designated initializer instead */ \
    - (instancetype)init NS_UNAVAILABLE; \

So you can do this

- (instancetype)initWithBar:(Bar *)bar FOO_DESIGNATED_INITIALIZER;
Advertisements