ObjectC----NSDate和Extension以及代理协议的用法

本文将为您详细介绍Swift编程语言的基础知识、实战案例及高级特性,涵盖Swift语法、面向对象编程、泛型、协程等内容,帮助开发者快速上手Swift并应用于实际项目。

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

  

    NSDate * nowDate = [NSDate date];

    NSLog(@"%@",nowDate);

    // 距离现在3600*24秒的时间日期,单位秒

    NSDate * tomorrow = [NSDate dateWithTimeIntervalSinceNow:3600*24];

    NSLog(@"%@",tomorrow);

    NSDate * date = [NSDate dateWithTimeIntervalSince1970:365*24*3600];

    NSLog(@"%@",date);

    // 计算两个日期之间的时间差,单位是秒

    NSTimeInterval interval = [nowDate timeIntervalSinceDate:tomorrow];

    NSLog(@"%f",interval);

    NSTimeInterval interval2 = [nowDate timeIntervalSince1970];

    NSLog(@"%f",interval2);

    


    // 创建当前时间和一个固定时间

    NSDate *now = [NSDate date];

    NSDate *past = [NSDate dateWithTimeIntervalSinceNow:-50];

    // 计算两个时间的时间差

    NSTimeInterval interval3 =[now timeIntervalSinceDate:past];

    if (interval3 <=60) {

        NSLog(@"ganggang");

    }

    else if(interval3>60 && interval3<=3600){

        NSLog(@"xxfenzhong");

    }

    else{

        NSLog(@"xx");

    }

   // ============================================

    // NSDateFormatter 日期和字符串之间的转化

    

    NSDateFormatter * formatter = [[NSDateFormatter alloc] init];

    // 必须设置日期格式

    [formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];// 也可@"yyyyMMdd"

    // 将日期转化成字符串,这样打印的时候才是自己位置时区的时间

    NSDate * nowDate2 = [NSDate date];

    NSString *str = [formatter stringFromDate:nowDate2];

    NSLog(@"%@",str);

    //将字符串转化成日期

    NSDate * newDate = [formatter dateFromString:@"2000-1-1 10:12:23"];

    NSLog(@"%@",newDate);

    // 练习

    NSDateFormatter *formatter5 = [[NSDateFormatter alloc] init];

    // [formatter5 setDateFormat:@"yyyy-MM-dd HH:mm:ss"];

    [formatter5 setDateFormat:@"yyyyMMdd HH:mm:ss"];

    NSDate * newDate4 = [formatter5 dateFromString:@"20140501 10:23:18"];

     NSString * newDate5 = [formatter5 stringFromDate:newDate4];

    

    NSLog(@"%@",newDate5);

    // ===============================================================


   // (分类)类目

    /*

     1.类目主要用于在不知道源码的情况下扩展类的功能;

     2.类目只能为类添加方法,不能添加实例变量;

     */

    // ===============================================================

    // Extension:管理私有方法



    //===============================================================



    /*代理模式步骤:

     1,定义协议  BaoMuProtocol

     2,遵循协议的类  (Nurse)

     3.定义需要代理的类  (Mother)

     4.建立关系   (Mother中定义一个代理类型的成员变量)     

     */

  BaoMuProtocol:

  @required

  - (void)takeCareOfBaby;


  @optional

  - (void)cook;

  - (void)doHouseWork;


  @end

===================

Nurse.h

#import "BaoMuProtocol.h"

@interface Nurse : NSObject<BaoMuProtocol>


@end

Nurse.m

- (void)takeCareOfBaby

{

    NSLog(@"Nurse--takeCareOfBaby");

}



- (void)cook

{

    NSLog(@"Nurse--cook");

}

- (void)doHouseWork

{

    NSLog(@"Nurse--doHouseWork");

}

=================================
Mother.h

#import "BaoMuProtocol.h"


@interface Mother : NSObject

{

    id<BaoMuProtocol> _delegate;

}


- (void)setDelegate:(id<BaoMuProtocol>)delegate;

- (id<BaoMuProtocol>)delegate;


- (void)work;



@end

Mother.m

 (void)setDelegate:(id<BaoMuProtocol>)delegate

{

    _delegate = delegate;

}

- (id<BaoMuProtocol>)delegate

{

    return _delegate;

}


- (void)work

{

    NSLog(@"Mother--Work");

    [_delegate takeCareOfBaby];

}

=============================
main中调用

    Mother * mother = [[Mother alloc] init];

    Nurse * nurse = [[Nurse alloc] init];

    [mother setDelegate:nurse];

    [mother work];

=============================

内容概要:本文档提供了关于“微型车间生产线的设计与生产数据采集试验研究”的毕业设计复现代码,涵盖从论文结构生成、机械结构设计、PLC控制系统设计、生产数据采集与分析系统、有限元分析、进度管理、文献管理论文排版系统的完整实现。通过Python代码API调用,详细展示了各个模块的功能实现相互协作。例如,利用SolidWorks API设计机械结构,通过PLC控制系统模拟生产流程,使用数据分析工具进行生产数据的采集异常检测,以及利用进度管理系统规划项目时间表。 适合人群:具有机械工程、自动化控制或计算机编程基础的学生或研究人员,尤其是从事智能制造领域相关工作的人员。 使用场景及目标:①帮助学生或研究人员快速搭建理解微型车间生产线的设计与实现;②提供完整的代码框架,便于修改扩展以适应不同的应用场景;③作为教学或科研项目的参考资料,用于学习研究智能制造技术。 阅读建议:此资源不仅包含详细的代码实现,还涉及多个学科领域的知识,如机械设计、电气控制、数据分析等。因此,在学习过程中,建议读者结合实际操作,逐步理解每个模块的功能原理,并尝试调整参数以观察不同设置下的系统表现。同时,可以参考提供的文献资料,深入研究相关理论技术背景。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值