NSLog的定義
void NSLog(NSString *format, …);
基本上,NSLog很像printf,同樣會在console中輸出顯示結果。不同的是,傳遞進去的格式化字符是NSString的對象,而不是char *這種字符串指針。
實例
NSLog可以如下面的方法使用:
NSLog (@"this is a test");
NSLog (@"string is :%@", string);
NSLog (@"x=%d, y=%d", 10, 20);
但是下面的寫法是不行的:
int i = 12345;
NSLog( @"%@", i );
原因是, %@需要顯示對象,而int i明顯不是一個對象,要想正確顯示,要寫成:
int i = 12345;
NSLog( @"%d", i );
?
格式
NSLog的格式如下所示:
%@ 對象
%d, %i 整數
????????%u 無符整形
????????%f 浮點/雙字
????????%x, %X 二進制整數
????????%o 八進制整數
????????%zu size_t%p 指針
????????%e 浮點/雙字 (科學計算)
????????%g 浮點/雙字
?????????%s C 字符串
????????%.*s Pascal字符串
????????%c 字符
????????%C unicha
????????r%lld 64位長整數
?????(long long)%llu 無符64位長整數
????????%Lf 64位雙字
1\幾個 CGRect 函數例子
1.CGRectOffset使用從源CGRect偏移的原點來創建矩形
????????float offset = 25.0;
????CGRect r1 = CGRectMake(100, 100, 100, 100);
????CGRect r2 = CGRectOffset(r1, offset, offset);
2.CGRectIntersectsRect允許我們確定兩個矩形是否相交
????float offset = 25.0;
????CGRect r1 = CGRectMake(100, 100, 100, 100);
????CGRect r2 = CGRectMake(150, 150, 100, 100);
????if (CGRectIntersectsRect(r1, r2))
????{
????????NSLog(@"intersecting");
????}
3.NSStringFromCGRect可以用來把CGRect顯示到控制臺
????CGRect r1 = CGRectMake(100, 100, 100, 100);
????NSLog(@"rect:@%",NSStringFromCGRect(r1));??
NSLog(@"rect:%@",NSStringFromCGRect([moduleView frame]));????
NSLog(@"rect:%@",NSStringFromCGRect([navScrollView frame]));
?
同樣,CGRectFromString允許我們根據一個字符串創建一個CGRect:
????NSString *r = @"{0,0},{100,100}";
????CGRect r1 = CGRectFromString(r);
使用對應的轉換
NSStringFromCGPoint???NSStringFromCGSize???NSStringFromCGRect??NSStringFromCGAffineTransform???NSStringFromUIEdgeInsets
比如
NSLog(@"rect1: %@",?NSStringFromCGRect(rect1));