oc 中的id类型与类型转换

Posted kingBook

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oc 中的id类型与类型转换相关的知识,希望对你有一定的参考价值。

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 = @"123";
NSString *tempB = @"456";

1,字符串拼接
NSString *newString = [NSString stringWithFormat:@"%@%@",tempA,tempB];

2,字符转int
int intString = [newString intValue];

3,int转字符
NSString *stringInt = [NSString stringWithFormat:@"%d",intString];

4,字符转float
float floatString = [newString floatValue];

5,float转字符
NSString *stringFloat = [NSString stringWithFormat:@"%f",intString];

 

以上是关于oc 中的id类型与类型转换的主要内容,如果未能解决你的问题,请参考以下文章

ARC下带CF前缀的类型与OC类型转换

Swift中实现Array数组和NSArray数组的相互转换与遍历

在代码片段中包含类型转换

从 OC 到 Swift 的快速入门与专业实践

Unity3d开发中与oc交互之类型转换

IOS开发-OC学习-常用功能代码片段整理