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 = @"";
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];
oc 中的id类型与类型转换的更多相关文章
- 关于void*类型的用法(相当于OC中的id类型)
关于void*类型的用法(相当于OC中的id类型) 1.C++语言在对于void* 类型的使用很特别,因为void* 可以间接引用任何其他数据类型的指针,比如int*.float*甚至抽象数据类型的指 ...
- OC基础--构造方法 id类型
new方法实现原理: new做了三件事情 1.开辟存储空间 + alloc 方法 2.初始化所有的属性(成员变量) - init 方法 3.返回对象的地址 [Person new]; == [[Pe ...
- OC中保存自定义类型对象的持久化方法
OC中如果要将自定义类型的对象保存到文件中,必须进行以下三个条件: 想要把存放自定义类型的数组进行 持久化(就是将内存中的临时数据以文件<数据库等>的形式写到磁盘上)必须满足: 1. 自定 ...
- OC中的枚举类型
背景 一直对OC中的位移操作枚举不太理解,查找到两篇介绍OC中枚举的文章,觉得很不错. 什么是位移操作枚举呢? typedef NS_OPTIONS(NSUInteger, UIViewAutores ...
- id类型
id类型 在Objective-C 中,id 类型是一个独特的数据类型.在概念上,类似Java 的Object 类,可以转换为任何数据类型.换句话说,id 类型的变量可以存放任何数据类型的对象.在内部 ...
- OC id类型
id数据类型可存储任何类型的对象.从某种意义说,它是一般对象类型. -------------------------"NormalMan.h"------------------ ...
- 张超超OC基础回顾_05 property修饰符,id类型,instancetype。。。
一.property 如果给一个属性同时提供了getter/setter方法, 那么我们称这个属性为可读可写属性 如果只提供了getter方法, 那么我们称这个属性为只读属性 如果只提供了setter ...
- Solr schema.xml中修改id的类型为int
使用solr6的版本的时候(solr5不存在这个问题),在修改schema.xml的field时,想使用int做为id的数据类型,修改后重新加载配置的时候报错.原来schema.xml中field i ...
- JavaScript中判断变量类型最简洁的实现方法以及自动类型转换(#################################)
这篇文章主要介绍了JavaScript中判断整字类型最简洁的实现方法,本文给出多个判断整数的方法,最后总结出一个最短.最简洁的实现方法,需要的朋友可以参考下 我们知道JavaScript提供了type ...
随机推荐
- JUC集合之 ConcurrentLinkedQueue
ConcurrentLinkedQueue介绍 ConcurrentLinkedQueue是线程安全的队列,它适用于"高并发"的场景. 它是一个基于链接节点的无界线程安全队列,按照 ...
- php设计模式:单例模式
前些日子开始着真正的去了解下设计模式,开始么,简单地从单例模式开始,当然网上看了一些资料,单例模式比较好理解,看看介绍,然后看看代码基本也就能够理解了,设计模式这些的花点心思基本的是能够理解的,当然要 ...
- linux 信号处理 六(全)
一.信号及信号来源 信号本质 信号是在软件层次上对中断机制的一种模拟,在原理上,一个进程收到一个信号与处理器收到一个中断请求可以说是一样的.信号是异步的,一个进程不必通过任何操作来等待信号的到达,事实 ...
- java 字符串String
在 Java 中,字符串被作为 String 类型的对象处理. String 类位于 java.lang 包中.默认情况下,该包被自动导入所有的程序. 创建 String 对象的方法: 只要是双引号标 ...
- Javascript中的闭包(六)
一.什么是闭包 函数可以记住并访问所在词法作用域时,就产生了闭包,即使在词法作用域外调用函数. (也就是说如果一个函数在执行完之后,其中的内部包含的函数仍然对该函数的作用域持有着引用(函数执行完 ...
- bzoj4471 bzoj4490 随机数生成器Ⅱ
Description 继NOI2014后,小H又发现了一种新的生成随机数的方法.首先,给定三个随机种子P,C1,C2(C1≤C2)生成一个序列{xi},{xi}满足对于任意的i≥0,满足以下递推式X ...
- 关于String.valueOf()和.toString的问题
以下是String.valueOf()的源代码 public static String valueOf(Object obj) { return (obj == null) ? " ...
- 杂项-性能测试工具:LoadRunner
ylbtech-杂项-性能测试工具:LoadRunner LoadRunner,是一种预测系统行为和性能的负载测试工具.通过以模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题,LoadR ...
- Unreal Engine 4(虚幻UE4)GameplayAbilities 插件入门教程(二)
我们接着学习.如果没有学习第一篇,请前往学习. 由于GameplayAbilities插件基本上没有资料(除了前面提供的那篇Dave的博文以外,再无资料,有迹象表明Dave是这个插件的开发者). 这个 ...
- [UE4]C++实现动态加载UObject:StaticLoadObject();以Texture和Material为例
相关内容: C++实现动态加载的问题:LoadClass<T>()和LoadObject<T>() http://aigo.iteye.com/blog/2281558C++静 ...