1.block:塊語法,是一種新的語法結構。學習的時候可以模擬於函式指標。
2.block和函式指標對比
#import
//宣告函式
int add(int,int);
int main(int argc, char * argv) ;
nslog(@"%d",block(3,6));
}}//實現函式
int add(int a,int b)
3.block宣告和實現寫在一起
#import
int main(int argc, char * argv) ;
voidblock();
}}
4.__block關鍵字
#import
int main(int argc, char * argv) ;
changevar(15);
nslog(@"%d",number);
}}
5.block傳值
①建立supermarket類
supermarket.h
#import
@inte***ce
supermarket : nsobject
@property (nonatomic, copy) void(^byvalueblock)(nsstring *);
- (void)begin;
- (void)finish;
@end
supermarket.m
#import "supermarket.h"
@implementation
supermarket
- (void)begin
-(void)finish
@end
②建立student類
student.h
#import
@inte***ce
student : nsobject
- (void)buy;
@end
student.m
#import "student.h"
#import "supermarket.h"
@implementation
student
-(void)buy ;
[supermarket begin];
}@end
③main.m
#import
#import
#import
"student.h"
int main(int argc, char * argv)
}
6.block作為引數
①新建market類
market.h
#import
typedef
void (^marketblock)(void);
@inte***ce
market : nsobject
- (void)beginwithmoney:(marketblock)block;
@end
market.m
#import "market
.h"@implementation market
-(void)beginwithmoney:(marketblock)block
@end
②建立person類
person.h
#import
@inte***ce
person : nsobject
- (void)buy;
@end
person.m
#import "person.h"
#import "market.h"
@implementation
person
-(void)buy ];
}@end
③main.m
#import
#import
#import
"person.h"
int main(int argc, char * argv)
}
自學iOS開發系列 C語言(陣列)
c語言的編譯和執行 開啟終端輸入 touch arr.c open arr.c 在開啟的檔案中輸入 include int main int argc,const char argv command s儲存 gcc o arr arr.c arr 終端輸出hello world 陣列 一 一維陣列 ...
自學iOS開發系列 OC(類別和擴充套件)
類別 category 1.類別的作用 為已知的型別增加新的方法 2.類別的侷限性 不能新增例項變數 方法名衝突,類別中方法的優先順序會更高 3.類別的應用場景 將類的實現分散到不同的檔案或框架中 4.建立category檔案 新增型別和類別名稱 5.新建類別,在乙個字串後面追加乙個字串,返回乙個新...
iOS開發系列
ios開發系列 ui 自定義tableview 本章實現效果 我們使用mvc架構來實現自定義tableview,具體的mvc介紹請自行,在本章中不作為主要內容講解。model層 datasource.h import inte ce datasource nsobject nsarray getus...