Foundation之结构体

本文详细介绍了在iOS开发中如何使用结构体来创建Date实例,并展示了Foundation框架中NSRange、NSLog和一些常用结构体函数的用法。通过实例演示了如何在代码中高效地进行日期和字符串操作。
//
//  main.m
//  structDemo_01
//
//  Created by QiZhang on 8/4/15.
//  Copyright (c) 2015 QiZhang. All rights reserved.
//

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {


    struct Date{
        int year;
        int month;
        int day;
    };
    // 在创建Date变量的同时为其初始化
    struct Date d1 = {2014,8,12};
    struct Date d2 = {.month=10,.year=2013,.day=13};
    NSLog(@"%d-%d-%d",d1.year,d1.month,d1.day);
    NSLog(@"%d-%d-%d",d2.year,d2.month,d2.day);

    // 使用NSRange创建变量
    NSRange r1 = {2,3};
    NSRange r2 = {.location=2,.length=3};
    NSRange r3 = NSMakeRange(2, 3);
    NSLog(@"(%lu,%lu)",r1.location,r1.length);
    NSLog(@"(%lu,%lu)",r2.location,r2.length);
    NSLog(@"(%lu,%lu)",r3.location,r3.length);

    NSString *str = @"hello everyone ,I am a newer.";
    NSRange range = [str rangeOfString:@"am"];
    NSLog(@"location=%lu,length=%lu",range.location,range.length);  //location=18,length=2

    // Foundation框架中一些常用的结构体函数
    // 1.比较两个点是否相同
    BOOL b = CGPointEqualToPoint(CGPointMake(2,3), CGPointMake(2, 3));
    NSLog(@"%hhd",b);
    // 2.比较两个区域是否相同
    NSLog(@"%d",CGRectEqualToRect(CGRectMake(2, 3, 20, 30), CGRectMake(2, 3, 10, 20)));
    // 3.比较两个尺寸
    NSLog(@"%d",CGSizeEqualToSize(CGSizeMake(10, 20), CGSizeMake(10, 20)));
    // 4.判断某个点是否在区域范围内
    NSLog(@"%d",CGRectContainsPoint(CGRectMake(40, 50, 100, 100), CGPointMake(60, 45)));

    return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值