前面我们已经把常用的四个结构体学完了, 知道怎么去创建怎么去使用了, 但还有一些小细节没有补充完, 下面让我们一起来看看吧:
例子:
#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框架导入就可以了.
好了, 这次我们就讲到这里, 下次继续~~~