• Foundation框架之常用结构体


    1)  NSRange(location length)

    例:@”I LOVE OC” 中 LOVE范围可表示为(location=2 length=4)

    NSString *str = @”I love oc”;

    NSRange range = [str rangeOfString:@”love”];

    或者, NSRange range = NSMakeRange(2,4);

    例:查找某个字符串在str中的范围

    // 如果找不到,length=0,location=NSNotFound==-1

    NSRange range = [str rangeOfString:@"java"];

    2)  NSPointCGPoint(x坐标 y坐标)

    创建方式:

    CGPoint p1 = NSMakePoint(10, 10);

    NSPoint p2 = CGPointMake(20, 20);

    将结构体转换为字符串:

    NSString *str = NSStringFromPoint(p1);

    NSLog(@”%@”,str);

    表示原点CGPointZero

    // CGPointZero == CGPointMake(0, 0)

    //使用CGPointZero等的前提是添加CoreGraphics框架

    3)  NSSizeCGSize(width height)

    创建方式:

    NSSize s1 = CGSizeMake(100, 50);

    NSSize s2 = NSMakeSize(100, 50);

    将结构体转换为字符串:

    NSString *str = NSStringFromSize(s1);

    NSLog(@”%@”,str);

    4)  NSRectCGRect (CGPint CGSize)

    创建方式:

    CGRect r1 = CGRectMake(0, 0, 100, 50);

    CGRect r2 = { {0, 0}, {100, 90}};

    CGRect r3 = {p1, s2};

    将结构体转换为字符串:

    NSString *str = NSStringFromRect(r1);

    NSLog(@”%@”,str);

    5)  结构体常用函数:

    // 使用这些CGPointEqualToPoint、CGRectContainsPoint等函数的前提是添加CoreGraphics框架

    // 比较两个点是否相同(x、y)

    BOOL b = CGPointEqualToPoint(CGPointMake(10, 10),CGPointMake(10, 10));

    //CGRectEqualToRect(<#CGRect rect1#>, <#CGRectrect2#>)

    //CGSizeEqualToSize(<#CGSize size1#>, <#CGSizesize2#>)

    //判断某个点是否在矩形区域内

    BOOL b2 = CGRectContainsPoint(CGRectMake(50, 40, 100, 50),CGPointMake(60, 45));


  • 相关阅读:
    [NOIP2020]T2字符串匹配
    【CSGRound2】逐梦者的初心(洛谷11月月赛 II & CSG Round 2 T3)
    【CF1225E Rock Is Push】推岩石
    [HAOI2016]食物链
    求先序排列
    图书管理员
    合并果子
    联合权值
    和为0的4个值
    玩具谜题
  • 原文地址:https://www.cnblogs.com/coderkl/p/4320311.html
Copyright © 2020-2023  润新知