OC 打印结构体的内容

来源:互联网 发布:java list 编辑:程序博客网 时间:2024/05/01 08:03

 OC结构体(如NSRect,NSSize,NSPoint等)类型的结构体变量不是对象,所以要想整体打印他们内容。必须事先把它们转换为OC字符串类型,常用的方法就是直接使用NSStringFromXxx...方法即可

一、NSRagevoid range(){    NSRange range=NSMakeRange(8, 5);    NSLog(@"location=%zi",range.location);    NSLog(@"length=%zi",range.length);    NSString *str=NSStringFromRange(range);//把range这个结构体转成对象。    NSLog(@"%@",str);}int main(int argc, const char * argv[]){    @autoreleasepool {        range();        }    return 0;}二、NSPoint:是一个结构体。void point(){    NSPoint p;    p.x=1;    p.y=10;       p=NSMakePoint(1, 10);//快速创建point函数       p=CGPointMake(1,10);//这也是创建point函数的一种方式,这个更常用,CG代表CoreGraphic框架    NSString *str=NSStringFromPoint(p);//要把结构体转正oc对象才能打印    NSLog(@"%@",str);}int main(int argc, const char * argv[]){    @autoreleasepool {        point();            }    return 0;}三、NSsize——是一个结构体void size(){    NSSize s;    s.height=10;    s.width=20;    s=NSMakeSize(15, 20);//快速创建size函数    s=CGSizeMake(15, 20);//这也是创建size函数的一种方式,这个更常用,CG代表CoreGraphic框架    NSString *str=NSStringFromSize(s);//要把结构体转正oc对象才能打印    NSLog(@"size=%@",str);}int main(int argc, const char * argv[]){    @autoreleasepool {        size();            }    return 0;}NSRact--包含了length wide和x yvoid rect(){    NSRect rect;    rect.origin.x=10;    rect.origin.y=11;    rect.size.width=90;    rect.size.height=100;    rect=NSMakeRect(20, 10, 100, 90);//简便方法     rect=CGRectMake(100, 100, 100, 100);//简便方法    NSString *str=NSStringFromRect(rect);//转成对象,再打印。    NSLog(@"%@",str);}int main(int argc, const char * argv[]){    @autoreleasepool {        rect();       }    return 0;}


0 0
原创粉丝点击