oc 中的id类型与类型转换
2024-08-28 04:58:42
id是oc语言中一个独特的数据类型。一种通用对象类型。可以转换为任何数据类型,即id类型的变量可以存放任何数据类型的对象。
使用示例:
Animal * dog = [[Dog alloc]init];//使用父类接收子类的实例对象;
Dog * dd = (Dog *)dog;//强制转换为子类类型
[dd kanMen];//只有强制转换后才能调用子类特有的方法
id dog = [[Dog alloc]init];//创建对象dog;
[dog kanMen];//可以直接调用Dog类具有的特有方法;
[dog test];//这条狗还可以调用Dog私有的方法//只有实现没有生命的方法是私有方法;
数据类型转换
NSNumber转NSString
假设现有一NSNumber的变量A,要转换成NSString类型的B
方法如下:
NSNumberFormatter* numberFormatter = [[NSNumberFormatteralloc] init];
B = [numberFormatter stringFromNumber:A];
[numberFormatter release];
NSString和float 还有int之间的转换
NSString *tempA = @"";
NSString *tempB = @""; ,字符串拼接
NSString *newString = [NSString stringWithFormat:@"%@%@",tempA,tempB]; ,字符转int
int intString = [newString intValue]; ,int转字符
NSString *stringInt = [NSString stringWithFormat:@"%d",intString]; ,字符转float
float floatString = [newString floatValue]; ,float转字符
NSString *stringFloat = [NSString stringWithFormat:@"%f",intString];
最新文章
- EXC_ARM_DA_ALIGN
- 使用Python结合Face++ API识别人脸
- 线程池大小 &; cpu core
- 3.29考试(HNOI难度)
- mysql 常用sql操作语句
- Java多线程(四) 线程池
- CentOS7上GitLab的使用
- 最长公共子序列--nyoj36
- (原)Ubuntu16中安装cuda toolkit
- (三)训练HMM模块
- 我的web前端整理和学习
- 【Linux基础】Linux更改系统IP
- 如何解决cacti的snmp error
- oracle在exp导出时报错PLS-00201: identifier 'EXFSYS.DBMS_EXPFIL_DEPASEXP' must be declared
- 【转发】JQuery中操作Css样式的方法
- java Map常用方法封装
- dubbo实现动态调用
- 企业IT管理说:全自动就一定是最好的吗?
- dhroid - eventbus 事件总线
- webpack 性能优化 -- 待续