TL; DR
Class extensions only modify the classes you own, while categories can modify any existing class.
ivars ( iOS OSX 64-bit), .
, .
(, clang ), , - .
Apple
, , ( ). , , @implementation , , , , Cocoa Cocoa , NSString.
: (, , ).
@interface , - , .
ivar . :
@interface MyClass : NSObject {
NSInteger a;
NSInteger b;
}
@end
@interface MyClass : NSObject {
NSInteger a;
}
@end
@interface MyClass() {
NSInteger b;
}
@end
( .m, b ).
, .
, , , Objective-C ivars.
? , ivars , , .
ivar , , NSObject () Framework, - .
, , , .
ivar iOS (iPhone OS ) 64- OSX ivars, Objective-C , 32- Mac.
http://www.sealiesoftware.com/blog/archive/2009/01/27/objc_explain_Non-fragile_ivars.html
http://www.cocoawithlove.com/2010/03/dynamic-ivars-solving-fragile-base.html