黑马程序员15——OC之Fundation(了解常用结构体)

本文探讨了Objective-C与Swift两种编程语言在iOS开发领域的应用与区别,包括其优势、特性和最佳实践,旨在帮助开发者选择合适的语言进行项目开发。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

下面是OC里面常用的结构体

/*

 NSRange(location length)
 NSPoint\CGPoint
 NSSize\CGSize
 NSRect\CGRect (CGPint CGSize)

 */

#import <Foundation/Foundation.h>


int main()
{
    
    // 比较两个点是否相同(x、y)
    BOOL b = CGPointEqualToPoint(CGPointMake(10, 10), CGPointMake(10, 10));
    
    // x (50, 150) y (40 , 90)
    BOOL b2 = CGRectContainsPoint(CGRectMake(50, 40, 100, 50), CGPointMake(60, 45));
    
    NSLog(@"%d", b2);
    
    return 0;
}


void point()
{
    CGPoint p1 = NSMakePoint(10, 10);
    NSPoint p2 = CGPointMake(20, 20);// 最常用
    
    NSSize s1 = CGSizeMake(100, 50);
    NSSize s2 = NSMakeSize(100, 50);
    CGSize s3 = NSMakeSize(200, 60);
    
    CGRect r1 = CGRectMake(0, 0, 100, 50);
    
    CGRect r2 = { {0, 0}, {100, 90}};
    
    CGRect r3 = {p1, s2};
    
    // 使用CGPointZero等的前提是添加CoreGraphics框架
    CGRect r4 = {CGPointZero, CGSizeMake(100, 90)};
    
    // 表示原点
    // CGPointZero == CGPointMake(0, 0)
    
    
    // 将结构体转为字符串
    //NSString *str = NSStringFromPoint(p1);
    
    //NSString *str = NSStringFromSize(s3);
    
    NSString *str = NSStringFromRect(r1);
    
    NSLog(@"%@", str);

}


void range()
{
    
    //NSRange r1 = {2, 4}; // 不用
    //NSRange r2 = {.location = 2, .length = 4};// 不用
    //NSRange r3 = NSMakeRange(2, 4); // 掌握
    NSString *str = @"java";
    
    // 查找某个字符串在str中的范围
    // 如果找不到,length=0,location=NSNotFound==-1
    NSRange range = [str rangeOfString:@"java"];
    NSLog(@"loc = %ld, length=%ld", range.location, range.length);
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值