Can I ask which version I should be using, in my older apps I seem to be using "B" but when I look at a lot of examples online I am seeing a lot of versions that look like "A".
// A
- (id)initWithCoder:(NSCoder *)decoder {
    self=[super initWithCoder:decoder];
    if(self) {
        ...
OR
// B
- (id)initWithCoder:(NSCoder *)decoder {
    self=[super init];
    if(self) {
        ...
                Depends on whether the superclass conforms to the NSCoding protocol or not. If it does, you must call [super initWithCoder:decoder]. If it does not, you must call the superclass' designated initializer.
For example, if your class is a direct subclass of NSObject, you would call [super init], NSObject's designated initializer, since NSObject does not conform to the NSCoding protocol.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With