首页 > 代码库 > oc 中的id类型与类型转换

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类型与类型转换