OC-文件和计时器操作实例

Example:创建一个Date.text文件,获取当前的日期,将日期存储为格式”2014/08/22 10:25:23“的形式。然后一秒钟记录一次,将新的时间存入到文件中。

WriteDate.m的内容:

- (void)runWrite {
    NSFileManager *fileManager = [NSFileManager defaultManager];
    NSString *path = NSHomeDirectory();
    NSString *filePath = [path stringByAppendingPathComponent:@"Date.text"];
    BOOL success = [fileManager createFileAtPath:filePath contents:nil attributes:nil];
    if (success) {
        NSLog(@"created success");
    }
    NSFileHandle *fileHandle = [NSFileHandle fileHandleForWritingAtPath:filePath];
    [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(timerAction:)          userInfo:fileHandle repeats:YES];
}

- (void)timerAction:(NSTimer *) timer {
    static int n = 0;
    
    NSFileHandle *fileHandle = timer.userInfo;
    [fileHandle seekToEndOfFile];
    
    NSDate *nowDate =[NSDate date];
    NSDateFormatter *dateformate = [[NSDateFormatter alloc]init];
    [dateformate setDateFormat:@"yyyy/MM/dd HH:mm:ss"];
    NSString *dateString = [dateformate stringFromDate:nowDate];
    dateString = [dateString stringByAppendingString:@"\n"];
    NSData *data = [dateString dataUsingEncoding:NSUTF8StringEncoding];
    [fileHandle writeData:data];
    
    if (n == 10) {
        [timer invalidate];
        [fileHandle closeFile];
    }
    n++;
}


main函数的内容:
int main(int argc,const char * argv[ ])
{
  @autoreleasepool {
        WriteDate *writeDate = [[WriteDate alloc]init];
        [writeDate runWrite];
    }
  [[NSRunLoop currentRunLoop] run];
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值