数据类型

1.Objective-C数据类型可以分为:基本数据类型、对象数据类型和id类型。

2.基本数据类型有:int、float、double和char类型。

3.对象类型就是类或协议所声明的指针类型,例如:

NSAutoreleasePool *pool ,其中,NSAutoreleasePool是一个类,NSAutoreleasePool *是它指针类型或叫对象类型。

4.id类型可以表示任何类型,一般只是表示对象类型,不表示基本数据类型,所以刚才的变量可以声明pool也可以声明为id pool。

基本数据类型——float类型

1.float类型表示代表双精度浮点数,与float类型很相似,可以在数值后面加上f或者F,例如:13.5f。float浮点数也可以用科学计数法表示,例如:1.7e4。

2.NSLog函数中格式化字符串:%f表示浮点数(会保留后面6位小数),%e表示科学计数法,%g表示浮点数。

基本数据类型——double类型

1.double类型代表双精度浮点数,与float数相似,占用的字节空间double类型大体上是float类型的两倍。大多数计算机是使用64位,表示double类型。

2.NSLog函数中格式化字符串,与float的%f、%e和%g相同。

基本数据类型——char类型(在计算机内部以int类型存储)

1.char类型代表字符类型,存放点个字符,用单引号引用起来。如:’A’,如果要表示一些特殊字符,要使用转义字符“\”。

2.NSLog函数中格式化字符串:%c。

数据类型限定词:老外写的好有这些东西。

Objective-C中数据类型可以在int、float和double、char类型前面加上限定词,限定词有:long、longlong、short、unsigned和signed,这些限定词从而增强了基本类型。

long int:在大部分计算机中代表32位整数,在整数后面加L(或l)表示,如:long int numberOfPoints = 1310L.NSLog函数中格式化字符串使用%li表示。

long long int:可以指定更加宽泛的整数类型,保证变量至少64位宽度。NSLog函数中格式化字符串使用%lli表示。

long double:可以指定更为宽泛的double类型,要显示这个可以在尾部使用L(大小写)表示,1.23+7L.NSLog函数中格式化字符串使用%Lf、%Le和%Lg表示。

short int:用来指定存放相对小得整数,一般式占用int类型的一半。大部分计算机是16位。

unsigned int(无符号整数):告诉编译器只是接受整数,在数值之后存放字母u(或U)表示,例如:0x00ffU;在编写整数的时候,可以将字母u(或U)和l(或L)组合起来,例如:100UL.

signed char(char在计算机中存的也是整数,所以有符号和无符号之分。):代表的字符和编译器有关,一般也作为无符号整数使用。

布尔类型(在计算机内部以int类型存储)

布尔类型是_Bool(别名BOOL),取值范围是1或0,其中1可以用TURE和YES表示,0可以用FALSE和NO表示。

枚举类型(在计算机内部以int类型存储)

如果需要定义一组相关常量,可以采用枚举类型,把这些常量定义成一个类型,例如游戏在上、下、左、右方向,可以枚举类型:enum direction{up,down,left,right}.其中,up从0开始,down是1,以此类推加1。如果不想从0开始,也可以指定初始值,如:enum direction{up=1,down,left,right}。

数据类型转换

1.谈到数据类型,就必然有数据类型转换的特点。

2.按照数据类型占用存储不同可以自动类型转换或强制类型转换,总的原则是小存储容量类型可以自动转换成大存储容量数据类型。

3.不同类型数据间按照下面关系的从左到右(从低到高)自动转换。如下:

_Bool、char、short int、枚举类型——>int——>long int——>long long int

——>float——>double——>long double.

4.类型转换先后顺序表

5.强制类型转换

如果遵守类型转换是右到左情况,就需要强制类型转换了。强制类型转换语法形式上很简单,就是在数据前面加上(目标类型),但是这种转换是存在风险的,有可能造成数据的丢失,需要谨慎进行。

ios 添加block 类别_ios block是什么数据类型?相关推荐

  1. ios 添加block 类别_ios之Block的详细使用和具体说明

    image.png iOS代码块Block 一:概述 闭包 = 一个函数「或指向函数的指针」+ 该函数执行的外部的上下文变量「也就是自由变量」:Block 是 Objective-C 对于闭包的实现. ...

  2. ios 添加block 类别_iOS 关于Block代码块的详解

    概述 block 上图就是一个block简单使用,它包括了block的声明.赋值实现.调用 三个部分,其中,实现部分可以看作是一种匿名函数:跟函数一样,block也是需要调用才能执行内部代码的:赋值的 ...

  3. ios 添加浮动效果_iOS 拖拽View跟随手指浮动-AssistiveTouch效果

    需求: 项目中要求做一个类似于iOS中AssistiveTouch的悬浮按钮,用于给用户展示广告.不同于AssistiveTouch的地方是我们的TouchView不会悬浮在上面或者下面,只会悬浮在左 ...

  4. ios 添加浮动效果_iOS实现拖拽View跟随手指浮动效果

    效果图: 1.自定义要跟随手指浮动的那个View // // OrangeView.m // 拖拽View跟随手指浮动 // // Created by llkj on 2017/8/16. // C ...

  5. ios 添加浮动效果_IOS 实现3D 浮动效果动画

    涉及到的技术点 catransform3drotate 转换坐标系 整体视图的层级结构 tvoscardview cardimageview cardparallaxview 转换坐标系的代码 cgf ...

  6. ios添加 启动画面_iOS 两种设置启动图方式的 bug 汇总

    楼主最近几天一直在纠结这个,忙到最后发现是 Apple 的锅,臣妾真搞不定呀 1.单独使用 LaunchImage 来设置启动图时: ①iOS9 系统的手机,在 APP 从后台通过 openURL 拉 ...

  7. iOS协议、代理、Block和回调、类别

    [协议](Protocol) //协议是用来规范接口,实现对象间交互的一种机制.类似于JAVA中的接口,可以模拟. 协议的权限 @optional//可选的 @required//必须的 [代理] 一 ...

  8. iOS开发 - OC - block的详解 - 深入篇

    深入理解oc中的block 苹果在Mac OS X10.6 和iOS 4之后引入了block语法.这一举动对于许多OC使用者的编码风格改变很大.就我本人而言,感觉block用起来还是很爽的,但一直以来 ...

  9. iOS开发 - OC - block的详解 - 基础篇

    深入理解oc中的block 苹果在Mac OS X10.6 和iOS 4之后引入了block语法.这一举动对于许多OC使用者的编码风格改变很大.就我本人而言,感觉block用起来还是很爽的,但一直以来 ...

  10. iOS进阶之底层原理-block本质、block的签名、__block、如何避免循环引用

    面试的时候,经常会问到block,学完本篇文章,搞通底层block的实现,那么都不是问题了. block的源码是在libclosure中. 我们带着问题来解析源码: blcok的本质是什么 block ...

最新文章

  1. 多个CALayer的联动
  2. oracle怎么解析sql,oracle SQL解析步骤小结
  3. 多态及其内部原理剖析
  4. 启明云端分享| 家电应用 串口屏选型推荐
  5. 蒙昧的意思_蒙昧的意思
  6. Firemonkey Android IOS 图标
  7. java.util接口_Java 8中java.util.function包中的谓词和使用者接口
  8. 推荐一些vue.js热门好用的框架组件
  9. 190330每日一句
  10. 一行代码完成模型训练,30倍加速,3毫秒急速识别,超强图像分类算法开源!...
  11. WPS2000中实现立体字效果(转)
  12. 微信小程序视频自定义进度条
  13. PS中如何简单、快速更换照片的背景色
  14. 怎么通过当地时区计算格林尼治_地球运动之“时间计算”练习二(干货)
  15. 一次学会两种方式将 pyton 打成 exe
  16. 华为matebooke升级鸿蒙,由华为MateBook E引发的猜测:ARM+鸿蒙OS改变笔记本的未来...
  17. 水滴公司欲赴美IPO,中国保险科技第一股含金量几何
  18. 散分了 关于QTreeView的拖拽问题
  19. 使用opencv制作人脸识别小软件
  20. cookie使用注意问题【cookie学习笔记】

热门文章

  1. 【Vegas原创】xp_sendmail提示“邮件已发送”但收不到邮件的解决方法
  2. 为什么B+树适合做索引
  3. python多线程和多进程
  4. 搭建nfs共享存储服务之三客户端配置
  5. 以swoole为例,学习如何实现协程
  6. Dockerfile 中的命令
  7. HDU 4931 Happy Three Friends(水)
  8. WdatePicker的一些用法
  9. MySQL优化步骤和my.cnf优化配置
  10. vmware vsphere出现“需要整合虚拟机磁盘”的告警处理方法(完整版)