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) NSPoint\CGPoint(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) NSSize\CGSize(width height)
创建方式:
NSSize s1 = CGSizeMake(100, 50);
NSSize s2 = NSMakeSize(100, 50);
将结构体转换为字符串:
NSString *str = NSStringFromSize(s1);
NSLog(@”%@”,str);
4) NSRect\CGRect (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));
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步