【非凡程序员】 OC第十六节课 初识OS X开发二(设置时间和定闹钟练习)

设置时间和定闹钟练习:

ViewController.h文件:
#import <Cocoa/Cocoa.h>

@interface ViewController : NSViewController
- (IBAction)shezhijian:(id)sender;
@property (weak) IBOutlet NSTextField *Song;
@property (weak) IBOutlet NSTextField *ShiJian;
@property (nonatomic,strong) NSTimer *time;
@property (weak) IBOutlet NSTextField *SheZhi;
-(void) date;
@end

ViewController.m文件

#import "ViewController.h"

@implementation ViewController

- (void)viewDidLoad  //-----------构造函数-------------//

{
    [super viewDidLoad];
    _time=[NSTimer scheduledTimerWithTimeInterval:1.0f target:self selector:@selector(date) userInfo:nil repeats:YES];
    }

-(void) date
{
    NSDate *today =[NSDate date];
    NSDateFormatter *f=[NSDateFormatter new];
    NSDateFormatter *f2=[NSDateFormatter new];
    [f setDateFormat:@"yyyy年MM月dd日HH点mm分ss秒"];
    [f2 setDateFormat:@"yyyyMMddHHmmss"];
    NSString *str=[f stringFromDate:today];
    NSString *str2=[f2 stringFromDate:today];
    //NSLog(@"%@",str2);
    [_ShiJian setStringValue:str]; //-----用setStringValue方法吧str给_shijian输出
   
    if ([save isEqual: str2])   //-----判断当str2与设置的时间相同时,闹铃响了
    {
        [_Song setStringValue:@"快起床了 ,主人。。。。。。。"] ;
   }
}

- (void)setRepresentedObject:(id)representedObject {
    [super setRepresentedObject:representedObject];

// Update the view, if already loaded.
}

NSString *save;
- (IBAction)shezhijian:(id)sender
{
    save = [_SheZhi stringValue];  //---获得设置的时间,给全局变量save;
}
@end

时间: 2024-12-28 01:33:15

【非凡程序员】 OC第十六节课 初识OS X开发二(设置时间和定闹钟练习)的相关文章

【非凡程序员】 OC第十一节课 (协议)

//协议特点:制定一份协议,其他类如果遵守就需要去实现前提是required(默认)// < > 遵守// NSObject 既是基协议 又是基类,因此,协议最终都需遵守NSObject// required 必须实现  optional 可选实现// respondToSelector:@selector(方法名) 判断一个方法是否存在// 子类继承父类 那么子类也遵守父类的协议// 协议可以多遵守,如: <myProtocol , NSObject>// 警记! 协议只是类似方

centos mysql 优化 第十六节课

centos mysql  优化  第十六节课 f

【非凡程序员】 OC第十五节课 (观察者模式和KVO进行对比)

今天主要学了观察者模式,以及回顾复习了KVO,两者进行对比 什么是观察者模式? 我们先打个比方,这就像你订报纸.比如你想知道美国最近放生了些新闻,你可能会订阅一份美国周刊,然后一旦美国有了新的故事,美国周刊就发一刊,并邮寄给你,当你收到这份报刊,然后你就能够了解美国最新的动态.其实这就是观察者模式,A对B的变化感兴趣,就注册为B的观察者,当B发生变化时通知A,告知B发生了变化.这是一种非常典型的观察者的用法,我把这种使用方法叫做经典观察者模式 KVO的全称是Key-Value Observer,

centos linux系统日常管理3 第十六节课

上半节课 下半节课 Linux系统服务管理 ntsysv工具ntsysv 类似图形界面管理工具,如果没有该命令安装  yum install -y ntsysv  常用服务:crond, iptables, network, sshd, syslog, irqbalance, sendmail, microcode_ctl 保存后需要reboot才能生效 chkconfig (命令行服务管理工具) 列出服务列表: chkconfig --list 关闭2级别 : chkconfig --leve

【非凡程序员】 OC第十四节课 (代理模式 二 闹铃响了)

这是一个人定闹钟的例子,就是人委托闹钟叫醒自己 main函数: #import <Foundation/Foundation.h>#import "Person.h"#import "Clock.h" int main(int argc, const char * argv[]) {    @autoreleasepool  {        // insert code here...        NSLog(@"Hello, World!

【非凡程序员】 OC第十四节课 (代理模式)

1.代理模式 举个例子:有一个婴儿,他本身不会自己吃饭和洗澡等等一些事情,于是婴儿就请了一个保姆,于是婴儿和保姆之间商定了一个协议,协议中写明了保姆需要做什么事情,而保姆就是这个代理人,  即:婴儿和保姆之间有个协议,保姆继承该协议,于是保姆就需要实现该协议中的条款成为代理人.2.代理模式的关键点: A完成一件事,但是自己不能完成,于是他找个代理人B 替他完成这个事情,他们之间便有个协议(protocol),B继承该协议来完成A代理给他的事情. 3.病人找医生看病 的案例: SickProtoc

黑马程序员--oc基础第六篇

六. oc基础知识(内存管理下) 总结:内存管理代码规范 1.只要调用alloc那么就必须调用release: 2.set方法的代码部分 *基本数据类型直接赋值. *如果是oc对象类型 - (void) setCar:(Car *)car { if(_car!=car) { [_car release]; _car=[Car retain]; } } 3.dealloc 部分的代码规范 *一定要[super dealloc ]放在最后面. *对self(当前)所拥有的其他对象做一次release

奋斗吧,程序员——第三十六章 落花人独立,微雨燕双飞

什么什么,要我别倒下? 废话,不看着情敌们在我面前一个个倒下,然后踩着他们的尸体过去继续战斗,我怎么可能比他们先一刻倒下. 生命的意义在于不屈的抗争,只要情敌一天未清除,我们就不能退出战斗. 我们必须迎着夕阳勇往直前,正义在浪子们的心里点燃了一展明 灯,让鲜花洒满大地,让真爱充斥人间,那就是希望所在. 什么什么,要我退出? 废话,你见过我的刀出了刀鞘而不染血的吗,即使没有敌人的血,也必须有自己的血! 在我的脑海里只有仇人有资格变得刻骨铭心,其他的都无所谓,我就是忘乎所以我就是数典忘宗我就是粪土当

centos mysql 实战 第十六节课

f