zoukankan      html  css  js  c++  java
  • Foundation框架: 5.常用结构体知识补充

    前面我们已经把常用的四个结构体学完了, 知道怎么去创建怎么去使用了, 但还有一些小细节没有补充完, 下面让我们一起来看看吧:





    例子:

    #import <Foundation/Foundation.h>
    
    int main(int argc, const char * argv[])
    {
        // 用来比较两个点是否相同(x, y)
        BOOL p = CGPointEqualToPoint(CGPointMake(10, 10), CGPointMake(10, 10));
        
        // 用来比较两个rect是否相同rect(CGPoint, CGSize)
        BOOL r = CGRectEqualToRect(CGRectMake(10, 10, 50, 50), CGRectMake(10, 10, 50, 50));
        
        // 用来比较两个Size是否相同(width, height);
        BOOL s = CGSizeEqualToSize(CGSizeMake(10, 10), CGSizeMake(10, 10));
        
        NSLog(@"p = %d, r = %d, s = %d", p, r, s);
        
        return 0;
    }

    打印出来的结果:

    2015-02-03 14:46:23.913 1.NSRange[12445:1054605] p = 1, r = 1, s = 1

    PS:该方法是用来判断两个对象的point, size, rect是否相同, 返回的类型是BOOL类型.





    例子:

    #import <Foundation/Foundation.h>
    
    int main(int argc, const char * argv[])
    {
        CGRect r = CGRectZero;
        CGSize s = CGSizeZero;
        CGPoint p = CGPointZero;
        
        NSString *str1 = NSStringFromRect(r);
        NSString *str2 = NSStringFromSize(s);
        NSString *str3 = NSStringFromPoint(p);
        
        NSLog(@"%@", str1);
        NSLog(@"%@", str2);
        NSLog(@"%@", str3);
    
        return 0;
    }

    打印出来的结果:

    2015-02-03 14:50:09.117 1.NSRange[12460:1055726] {{0, 0}, {0, 0}}
    2015-02-03 14:50:09.118 1.NSRange[12460:1055726] {0, 0}
    2015-02-03 14:50:09.118 1.NSRange[12460:1055726] {0, 0}
    

    PS: 该方法是默认所有的值都是0, 如果CGSize使用CGSizeZero, 那么它的width和height都为0, CGRect和CGPoint也是一样.





    这里还要说一下, 一般以NS开头的对象, 方法等等之类的都是Foundation框架的, 而以CG开头的对象, 方法一般都是CoreGraphics框架的, 而Foundation这个框架里面只是有CoreGraphics框架里的声明而已, 一旦编译器报CG开头的方法没有定义, 只要把CoreGraphics框架导入就可以了.




    好了, 这次我们就讲到这里, 下次继续~~~

  • 相关阅读:
    js正則表達式语法
    购买DigtalOcean VPS 以及 连接Linux
    UVA 246
    牵一发动全身【Nhibernate基本映射】
    jquery.validate+jquery.form提交的三种方式
    [Python] 发送email的几种方式
    递归算法浅谈
    最小二乘法多项式曲线拟合原理与实现
    王立平-Android中对图像进行Base64编码
    [置顶] EasyMock的简单使用
  • 原文地址:https://www.cnblogs.com/iOSCain/p/4282811.html
Copyright © 2011-2022 走看看