OC 打印结构体的内容

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

一、NSRage
void 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 y
void 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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值