Foundation框架: 5.常用结构体知识补充

来源:互联网 发布:刚开的淘宝店怎么装修 编辑:程序博客网 时间:2024/05/21 06:51

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





例子:

#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框架导入就可以了.




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

0 0