id 就是一個指針,它可以指向任何類型
id obj = [[Dog alloc] init];
Protocol
協議是用來規範接口,實現對象交互的一種機制。類似於JAVA中的接口,可以模擬多繼承。
協議中只有方法體,誰繼承協議誰實現協議中的方法體。
一個類可以實現多個協議,用逗號隔開
@required 默認必須實現
@optional 可以實現可以不實現
Block
代碼塊:就是一個功能代碼塊,一塊代碼
Block就是管理程序中代碼塊的對象
void (^myBlock)(int) = ^(int num){
printf(“%d”,num);
};
myBlock(9);