@implementation 這種修飾器的方式可以聲明類,在下面直接寫方法,但是這種寫法聲明的類的成員變量不能被子類繼承。
@implementation TBCChoicenessScrollPageItem
- (void)dealloc
{
self.tableView.delegate = nil;
self.tableView.dataSource = nil;
}
@end
[obj func:param] 其實可以使用點語法來寫更適應(yīng),即obj.func.param
- (void)dealloc
{
// 在開始先銷毀子類的空間占用
self.forumId = nil;
self.threadId = nil;
self.forumName = nil;
self.title = nil;
...
[super dealloc]; // 一定在最后銷毀父類的空間
}
這些符號:
- :指針類型聲明,所有的Objective-C對象變量都是指針類型的。
@ :表示這是o-c的,不然和c的區(qū)分不開
如 NSString *name = @"jalon";
NSNumber *age = @25;
NSArray *apps = @[@"AngryFowl", @"Lettertouch", @"Tweetrobot"];
NSDictionary *person = @{@"First Name": @"Eric"};
- :實例方法
- :靜態(tài)方法
[]:調(diào)用方法
: :傳參
description 方法 類似于 toString 可以 [myArray description] 來調(diào)用輸出
執(zhí)行方法的時候 用[obj func]中間的空格是調(diào)用的意思,如果想要字符串+字符串 都得特么的 說實話 真的很低級,還有沒有更好的辦法。
NSString *fullName = [firstName stringByAppendingString:lastName];
NSString *fullName = [[firstName stringByAppendingString:@" "] stringByAppendingString:lastName];
類型:
NSUInteger 定義整型int 用%lu來代替%@ 打印
NSString 定義字符串
NSArray 定義數(shù)組
BOOL 定義YES NO
NSDictionary 定義字典 類似于json
NSNumber
NSNumber 是一個儲存數(shù)字的 Object,NSNumber 不像 C 語言的 int ,不能直接拿來做加、減、乘、除,如果你想簡單一點使用數(shù)字的處理,可以使用另一個 Object : *NSInteger*。
---
block
myBlock = ^( int paramA )
{
return [ NSString stringWithFormat: @"Passed number: %i", paramA ];
};
NSArray *newHats = @[@"Cowboy", @"Conductor", @"Baseball",@"Beanie", @"Beret", @"Fez"];
[newHats enumerateObjectsUsingBlock:^(NSString *hat, NSUInteger index, BOOL *stop){
NSLog(@"Trying on hat #%lu: %@", index+1, hat);
}];
---
類接口定義:
@interface 類名:父類名{
變量定義;
}
方法定義;
@end;
定義值或者說返回值寫在括號里
前面帶有減號(-) 的方法為實例方法,必須使用類的實例才可以調(diào)用的。對應(yīng)的有+號, 代表是類的靜態(tài)方法,不需要實例化即可調(diào)用。
- 實例方法
- 類的靜態(tài)方法
-(void) HelloWorld:(BOOL)ishelloworld{
//干點啥
}
Objective-C中,調(diào)用方法被稱為**發(fā)送消息** ,通知對象執(zhí)行某種操作。
方括號實例化并傳參調(diào)用,空格類似于 "." : 類似于括號傳參
for (NSString *hat in newHats) {}
nil 類似于 null,YES類似true NO類似false或者0