当前位置: 首页 > news >正文

oc 中数据包装nsdate nsvalue nsnuber的用法





// // main.m // nsvalue // // Created by ganchaobo on 13-5-1. // Copyright (c) 2013年 ganchaobo. All rights reserved. // #import <Foundation/Foundation.h> #import "Student.h" //NsNumber 用法是把基本类型装换oc对象(不包含结构体包装) void CreateNsnuber(){ //通过字符串类名子得到 class NSString *classname=@"Student"; Class stu= NSClassFromString(classname);//通过字符串类名得到类 id tu=[[[stu alloc] init] autorelease]; NSString *methodname=@"Print:"; SEL method=NSSelectorFromString(methodname);//通过过字符串得到方法用@selector if([tu respondsToSelector:method]){//responedToSelector 判断类种是否这个方法。 // NSNumber *number=[NSNumber numberWithInt:1]; NSNumber *number=[NSNumber numberWithChar:'A']; [tu performSelector:method withObject:number]; NSLog(@"yes"); } else{ NSLog(@"NO"); } } //Nsvalue用法 :任何基本类包装,通用方法 void CreateNsvalue(){ float a=10; char * c=@encode(float); //第一个参数是要包装c语言种基本类型 NSValue *value=[NSValue valueWithBytes:&a objCType:c ]; float t; NSLog(@"%@",value); [value getValue:&t];//包装后的nsvalue要获取包装的值用getvalue const char * t1=[value objCType];//返回包装类型的字符串 (int 返回 i float类型--》f) NSLog(@"%f--->%s",t,t1); / NSRange rang=NSMakeRange(10, 30); char *r=@encode(NSRange); NSValue *value1=[NSValue valueWithBytes:&rang objCType:r]; NSLog(@"%@",value1); NSRange RR; [value1 getValue:&RR]; const char *rr=[value1 objCType]; NSLog(@"-->%s",rr); } //Nsvalue用法 :任何基本类包装,简单的方法 void CreateNsvalue1(){ NSValue *value=[NSValue valueWithRange:NSMakeRange(10, 20)]; NSRange R=[value rangeValue]; NSLog(@"%zi--%zi", R.length,R.location); NSValue *value1=[NSValue valueWithPoint:NSMakePoint(10, 20)]; NSPoint point=[value1 pointValue]; NSLog(@"%f--%f", point.x,point.y); } //NSData的用法 是用秒来计算 void CreateNSDate(){ NSDate *date=[NSDate date];//返回当前世界 NSDate *date1=[NSDate dateWithTimeIntervalSinceNow:20];//获取当前时间的基础上加20秒钟 NSDate *date2=[NSDate dateWithTimeIntervalSince1970:50];// 在1970-1-1 00;00:00上基础上加50秒 NSDate *date3=[NSDate distantFuture];//获取未来随机时间 NSDate *date4=[NSDate distantPast];//获取过去随机世界 [date timeIntervalSince1970];//从1970之后走过的秒 NSLog(@"%@",date); NSLog(@"%@",date1); NSLog(@"%@",date2); NSLog(@"%@",date3); NSLog(@"%@",date4); double sec= [date timeIntervalSince1970];//从1970之后走过的秒 NSLog(@"Seconde =%f",sec); } void datecompate(){ NSDate *date=[NSDate date]; NSDate *date1=[NSDate dateWithTimeInterval:10 sinceDate:date]; NSLog(@"%@",date); NSLog(@"%@",date1); NSLog(@"较小时间%@",[date earlierDate:date1]);//两个时间想比较,返回较小的时间 NSLog(@"较大时间%@",[date laterDate:date1]);//两个时间比较,放回较大de时间 //时间排序 NSLog(@"%zi",[date1 compare:date]); NSLog(@"%zi",[date compare:date1]); } void DateFormate(){ NSDateFormatter *formatter=[[[NSDateFormatter alloc] init] autorelease]; formatter.dateFormat=@"yyyy-MM-dd HH:mm:ss"; //字符串转换为时间,有时差 // NSDate *dd=[formatter dateFromString:@"2013-05-01 19:51:12"]; // NSLog(@"%@",dd); NSString *str=[formatter stringFromDate:[NSDate date]]; NSLog(@"%@",str); } int main(int argc, const char * argv[]) { @autoreleasepool { DateFormate(); } return 0; }

 

相关文章:

  • ubuntu 12.10 virtualenv django
  • (转) ns2/nam与nam实现相关的文件
  • GregorianCalendar日历程序
  • nullnullAndroid Interface Definition Language (AIDL) 接口描述语言
  • Java Map遍历方式的选择
  • struts.xml路径修改后的web配置
  • centos 配置双机ssh信任
  • 红帽 Red Hat Linux相关产品iso镜像下载
  • vmware NIC teaming总结
  • wordpress主题制作教程(一)
  • 4.18 基本类型的类包装
  • IPv6静态路由配置
  • H3CS-WLAN、H3CSE-Security认证考试
  • 属性名称T4模版生成SpringMVC构造REST代码:第三篇 用T4模版生成POCO类代码
  • 如何使用PHP计算上一个月的今天
  • IE9 : DOM Exception: INVALID_CHARACTER_ERR (5)
  • conda常用的命令
  • create-react-app项目添加less配置
  • iOS仿今日头条、壁纸应用、筛选分类、三方微博、颜色填充等源码
  • Laravel 实践之路: 数据库迁移与数据填充
  • Linux CTF 逆向入门
  • MySQL-事务管理(基础)
  • opencv python Meanshift 和 Camshift
  • PHP面试之三:MySQL数据库
  • Python实现BT种子转化为磁力链接【实战】
  • python学习笔记-类对象的信息
  • react 代码优化(一) ——事件处理
  • Spring Boot快速入门(一):Hello Spring Boot
  • SQLServer之创建显式事务
  • vue 个人积累(使用工具,组件)
  • 表单中readonly的input等标签,禁止光标进入(focus)的几种方式
  • 关于 Linux 进程的 UID、EUID、GID 和 EGID
  • 微信小程序实战练习(仿五洲到家微信版)
  • 云大使推广中的常见热门问题
  • 7行Python代码的人脸识别
  • ​Distil-Whisper:比Whisper快6倍,体积小50%的语音识别模型
  • ###51单片机学习(1)-----单片机烧录软件的使用,以及如何建立一个工程项目
  • ###C语言程序设计-----C语言学习(3)#
  • $refs 、$nextTic、动态组件、name的使用
  • (1)安装hadoop之虚拟机准备(配置IP与主机名)
  • (动手学习深度学习)第13章 计算机视觉---微调
  • (附源码)计算机毕业设计SSM教师教学质量评价系统
  • (九)One-Wire总线-DS18B20
  • (转) Face-Resources
  • (转)shell中括号的特殊用法 linux if多条件判断
  • . ./ bash dash source 这五种执行shell脚本方式 区别
  • .NET gRPC 和RESTful简单对比
  • .net解析传过来的xml_DOM4J解析XML文件
  • .Net中的设计模式——Factory Method模式
  • @ConfigurationProperties注解对数据的自动封装
  • @RunWith注解作用
  • @我的前任是个极品 微博分析
  • [ 攻防演练演示篇 ] 利用通达OA 文件上传漏洞上传webshell获取主机权限
  • [ 蓝桥杯Web真题 ]-Markdown 文档解析
  • [ 转载 ] SharePoint 资料