在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
转自http://www.raywenderlich.com/4872/objective-c-cheat-sheet-and-quick-reference
Class Header (.h) #import "AnyHeaderFile.h" @protocol ClassNameDataSource, ClassNameDelegate; //声明协议: @optional//选择实现 - (NSUInteger)numberOfItemsInCarousel:(ClassName*)carousel; @required//必须实现
@protocal ClassNameDelegate <NSObject> @optional//选择实现 - (NSUInteger)numberOfItemsInCarousel:(ClassName*)carousel; @required//必须实现
@interface ClassName : SuperClass { //declare instance variables
id<ClassNameDelegate> delegate; id<ClassNameDataSource> dataSource; } // define properties //define methods (including any //custom initializers) @end
Class Implementation (.m)
#import "YourClassName.h"
@implementation ClassName
// synthesize properties
// implement methods (including any //custom initializers, and dealloc) @end
Defining Methods - (anytype)doIt; - (anytype)doItWithA:(anytype)a; - (anytype)doItWithA:(anytype)a andB:(anytype)b;
Implementing Methods
- (anytype)doItWithA:(anytype)a andB:(anytype)b { // Do something with a and b... return retVal; } Dealloc - (void)dealloc {
// Release any retained variables... [super dealloc]; }
Creating a Class Instance
ClassName * myClass = [[ClassName alloc] init]; // myClass valid until you call: [myClass release]; // Don’t need w/ ARC ClassName * myClass = [[[ClassName alloc] init]autorelease]; // myClass valid until next run loop
Calling a Method [myClass doIt]; [myClass doItWithA:a]; [myClass doItWithA:a andB:b];
Defining Properties @property (attribute1, attribute2) propertyName;
retain | Call retain on assign assign | Normal assign(default) copy | Make copy on assign nonatomic |Make not threadsafe readwrite | Create getter&setter(default) readonly | Create just getter
Synthesizing Properties
@synthesize propertyName; @synthesize propertyName =_myInstanceVariable; Using Properties [myClass setPropertyName:a]; myClass.propertyName = a; // alternative a = [myClass propertyName]; a = test.propertyName; // alternative
Declaring Variables anytype myVariable int | 1,2,500,10000 float | 1.5,3.14,578.234 double | BOOL | YES,NO,TRUE, FALSE ClassName * | NSString *,NSArray *,etc id | Can hold ref to any object Custom Initializer Example
- (id)initWithParam:(anytype)param { if ((self = [super init])) { self.propertyName = param; } return self; } NSString Quick Examples NSString *personOne = @"Ray"; NSString *personTwo = @"Shawn"; NSString *combinedString =[NSString stringWithFormat: @"%@: Hello, %@!", personOne, personTwo]; NSLog(@"%@", combinedString); NSString *tipString = @"24.99"; float tipFloat = [tipString floatValue]; NSArray Quick Examples NSMutableArray *array = [NSMutableArray arrayWithObjects:personOne, personTwo, nil]; [array addObject:@"Waldo"]; NSLog(@"%d items!", array.count); for (NSString *person in array) { NSLog(@"Person: %@", person); } NSString *waldo = [array objectAtIndex:2];
|
请发表评论