iOS基础(foundation)-常用结构体

来源:互联网 发布:js点击按钮执行ctrl c 编辑:程序博客网 时间:2024/06/05 03:36


------ 知之博客 期待与您交流! -------



    在Foundation中定义了很多常用结构体类型来简化我们的日常开发,这些结构体完全采用Objective-C定义,和我们自己定义的结构体没有任何区别,之所以由框架为我们提供完全是为了简化我们的开发。常用的结构体有NSRange、NSPoint、NSSize、NSRect等

////  main.m//  FoundationFramework////  Created by Kenshin Cui on 14-2-16.//  Copyright (c) 2014年 Kenshin Cui. All rights reserved.//#import <Foundation/Foundation.h>/*NSRange表示一个范围*/void test1(){    NSRange rg={3,5};//第一参数是起始位置第二个参数是长度    //NSRange rg;    //rg.location=3;    //rg.length=5;    //NSRange rg={.location=3,.length=5};    //常用下面的方式定义 NSRange rg2=NSMakeRange(3,5);//使用NSMakeRange定义一个NSRange     //打印NSRange可以使用Foundation中方法 NSLog(@"rg2 is %@", NSStringFromRange(rg2));//注意不能直接NSLog(@"rg2 is %@", rg2),因为rg2不是对象(准确的说%@是指针)而是结构体}/*NSPoint表示一个点*/void test2(){    NSPoint p=NSMakePoint(10, 15);//NSPoint其实就是CGPoint    //这种方式比较常见 NSPoint p2=CGPointMake(10, 15);    NSLog(NSStringFromPoint(p2));}/*NSSize表示大小*/void test3(){    NSSize s=NSMakeSize(10, 15);//NSSize其实就是CGSize    //这种方式比较常见 CGSize s2=CGSizeMake(10, 15);    NSLog(NSStringFromSize(s2));}/*NSRect表示一个矩形*/void test4(){    NSRect r=NSMakeRect(10, 5, 100, 200);//NSRect其实就是CGRect    //这种方式比较常见 NSRect r2=CGRectMake(10, 5, 100, 200);    NSLog(NSStringFromRect(r2));}int main(int argc, const char * argv[]) {    @autoreleasepool {        test1();        test2();        test3();        test4();    } return 0;}
    可以看到对于常用结构体在Foundation框架中都有一个对应的make方法进行创建,这也是我们日后比较常用的操作;而且与之对应的还都有一个NSStringFromXX方法来进行字符串转换,方便我们调试。上面也提到NSSize其实就是CGSize,NSRect其实就是CGRect,我们可以通过查看代码进行确认,例如NSSize定义:

NSSize

    继续查看CGSize的代码:

CGSize


0 0