转载来自: http://blog.csdn.net/shulianghan/article/details/38544659

1. 数据类型简介及输出

(1) 数据类型简介

数据类型简介 : Object - C 数据类型 分为 基本数据类型, 构造类型 和 指针类型;

-- 基本数据类型 : 整型, 字符型, 浮点型 (float 和 double), 枚举型;

-- 构造类型 : 数组类型, 结构体类型, 共用体类型;

-- 指针类型 : 最终要的数据类型, 所有的系统类, 自定义类都是指针;

-- 空类型 : 空类型只有一个值 nil, 该类型没有名称, 因此没有空类型的变量, 变量不能转换成空类型, 但是空类型可以转换成任何引用类型;

(2) 数据类型输出

NSLog()简介 : NSLog 是 Foundation 框架中功能强大的函数, 可以输出任何类型的数据;

-- 占位符 : NSLog() 函数中各式与 C 语言中大致相似, 第一个参数是加了 @ 的字符串, 后面的参数是用于替换占位符的;

整型占位符说明 :

-- %d : 十进制整数, 正数无符号, 负数有 "-" 符号;

-- %o : 八进制无符号整数, 没有 0 前缀;

-- %x : 十六进制无符号整数, 没有 0x 前缀;

-- %u : 十进制无符号整数;

字符占位符说明 :

-- %c : 单个字符输出;

-- %s : 输出字符串;

浮点占位符说明 :

-- %f : 以小数形式输出浮点数, 默认 6 位小数;

-- %e : 以指数形式输出浮点数, 默认 6 位小数;

-- %g : 自动选择 %e 或者 %f 各式;

其它形式占位符 :

-- %p : 输出十六进制形式的指针地址;

-- %@ : 输出 Object-C 对象;

占位符附加字符 :

-- l : 在整型 和 浮点型占位符之前, %d %o %x %u %f %e %g 代表长整型 和 长字符串;

-- n(任意整数) : %8d 代表输出8位数字, 输出总位数;

-- .n : 浮点数 限制小数位数, %5.2f 表示 5位数字 2位小数, 字符串 截取字符个数;

-- : 字符左对齐;

示例代码 :

[objc] view plaincopy
  1. #import <Foundation/Foundation.h>
  2. int main(int argc, charchar **argv)
  3. {
  4. @autoreleasepool{
  5. int a = 38;
  6. long b = 38;
  7. double c = 3.8;
  8. double d = 2.3;
  9. charchar * oct_c = "Octopus";
  10. NSString *oct_oc = @"Octopus"; /* 定义字符串, 在字符串前加上 @ 说明是Ovject-C变量, 值赋给一个 NSString 指针 */
  11. NSDate *date = [[NSDate alloc]init];
  12. NSLog(@"%d 十进制整型", a);
  13. NSLog(@"%5d 五位十进制整型", a);
  14. NSLog(@"%-5d 左对齐的五位十进制整型", a);
  15. NSLog(@"%o 八进制整型", a);
  16. NSLog(@"%x 十六进制整型\n", a);
  17. NSLog(@"%ld 长整型", b);
  18. NSLog(@"%lx 十六进制长整型\n", b);
  19. NSLog(@"%f 小数形式输出浮点数", c);
  20. NSLog(@"%e 指数形式输出浮点数", c);
  21. NSLog(@"%g 以最简短形式输出浮点数", c);
  22. NSLog(@"%5f 以五位小数形式输出浮点数", c);
  23. NSLog(@"%5.3f 小数行书输出, 一共五位, 小数3位\n", c);
  24. NSLog(@"%lf 小数形式输出长浮点数", d);
  25. NSLog(@"%le 指数形式输出长浮点数", d);
  26. NSLog(@"%lg 以最短形式输出长浮点数", d);
  27. NSLog(@"%5lf 5位小数形式输出长浮点数", d);
  28. NSLog(@"%5.3lf 5位小数形式输出长浮点数, 其中3位是小数\n", d);
  29. NSLog(@"%s 输出C字符串", oct_c);
  30. NSLog(@"%@ 输出Object-C字符串\n", oct_oc);
  31. NSLog(@"%@ 输出日期", date);
  32. }
  33. }

执行结果  :

[plain] view plaincopy
  1. octopus-2:ios octopus$ clang -fobjc-arc -framework Foundation 02-NSLogDemo.m
  2. octopus-2:ios octopus$
  3. octopus-2:ios octopus$ ./a.out
  4. 2014-08-16 19:32:44.210 a.out[1300:507] 38 十进制整型
  5. 2014-08-16 19:32:44.212 a.out[1300:507]    38 五位十进制整型
  6. 2014-08-16 19:32:44.213 a.out[1300:507] 38    左对齐的五位十进制整型
  7. 2014-08-16 19:32:44.214 a.out[1300:507] 46 八进制整型
  8. 2014-08-16 19:32:44.214 a.out[1300:507] 26 十六进制整型
  9. 2014-08-16 19:32:44.215 a.out[1300:507] 38 长整型
  10. 2014-08-16 19:32:44.215 a.out[1300:507] 26 十六进制长整型
  11. 2014-08-16 19:32:44.216 a.out[1300:507] 3.800000 小数形式输出浮点数
  12. 2014-08-16 19:32:44.216 a.out[1300:507] 3.800000e+00 指数形式输出浮点数
  13. 2014-08-16 19:32:44.217 a.out[1300:507] 3.8 以最简短形式输出浮点数
  14. 2014-08-16 19:32:44.217 a.out[1300:507] 3.800000 以五位小数形式输出浮点数
  15. 2014-08-16 19:32:44.218 a.out[1300:507] 3.800 小数行书输出, 一共五位, 小数3位
  16. 2014-08-16 19:32:44.218 a.out[1300:507] 2.300000 小数形式输出长浮点数
  17. 2014-08-16 19:32:44.219 a.out[1300:507] 2.300000e+00 指数形式输出长浮点数
  18. 2014-08-16 19:32:44.219 a.out[1300:507] 2.3 以最短形式输出长浮点数
  19. 2014-08-16 19:32:44.219 a.out[1300:507] 2.300000 5位小数形式输出长浮点数
  20. 2014-08-16 19:32:44.220 a.out[1300:507] 2.300 5位小数形式输出长浮点数, 其中3位是小数
  21. 2014-08-16 19:32:44.220 a.out[1300:507] Octopus 输出C字符串
  22. 2014-08-16 19:32:44.220 a.out[1300:507] Octopus 输出Object-C字符串
  23. 2014-08-16 19:32:44.226 a.out[1300:507] 2014-08-16 11:32:44 +0000 输出日期

2. 整型

(1) 整型类型介绍

四种整型 :

-- short int : 短整型, 占16位, mac 上占 2 字节, ios 上占 2 字节, 范围 -32768(-2^15) ~ 32767(2^15 - 1), 3万;

-- int : 整型, 占32位, mac 上占 4 字节, ios 上占 4 字节, 范围 -2147483648(-2^31) ~ 2147483647(2^31 - 1), 21亿;

-- long int : 长整型, 占64位, mac 上占 8 字节, ios 上占 4 字节, (-2^63) ~ (2^63 - 1), 922亿亿;

-- long long : 占64位, mac 上占 8 字节, ios 上占 8 字节;

整数赋值 : 整型赋值时注意范围, 如果超出赋值范围, 会出现警告, 数据也会丢失;

-- 示例程序 :

[objc] view plaincopy
  1. /*************************************************************************
  2. > File Name: a.m
  3. > Author: octopus
  4. > Mail: octopus_truth.163.com
  5. > Created Time: 日  8/17 00:44:19 2014
  6. ************************************************************************/
  7. #import <Foundation/Foundation.h>
  8. int main(int argc, charchar * argv[])
  9. {
  10. @autoreleasepool {
  11. short int a = 50000; /* short int 范围是 正负3万, 因此超出范围报错 */
  12. int a = 50000;
  13. NSLog(@"short int a = %d", a);
  14. NSLog(@"int a = %d", a);
  15. }
  16. }

-- 执行结果 :

[plain] view plaincopy
  1. octopus-2:~ octopus$ clang -fobjc-arc -framework Foundation a.m
  2. a.m:14:7: error: redefinition of 'a' with a different type: 'int' vs 'short'
  3. int a = 50000;
  4. ^
  5. a.m:13:13: note: previous definition is here
  6. short int a = 50000;
  7. ^
  8. 1 error generated.

(2) 进制介绍

八进制 十六进制赋值 : 八进制由 "0" 开头, 十六进制由 "0x" 或者 "0X" 开头;

-- 示例程序 :

[objc] view plaincopy
  1. #import <Foundation/Foundation.h>
  2. int main(int argc, charchar **argv)
  3. {
  4. @autoreleasepool
  5. {
  6. int a = 010;    /* 八进制赋值 */
  7. int b = 0x10;   /* 十六进制赋值 */
  8. int c = 10;     /* 正常十进制赋值 */
  9. NSLog(@"a = %d", a);
  10. NSLog(@"b = %d", b);
  11. NSLog(@"c = %d", c);
  12. NSLog(@". . . . . ");
  13. NSLog(@"a = %o", a);
  14. NSLog(@"b = %x", b);
  15. }
  16. return 0;
  17. }

-- 执行结果 :

[plain] view plaincopy
  1. octopus-2:ios octopus$ clang -fobjc-arc -framework Foundation 03-IntDemo1.m
  2. octopus-2:ios octopus$ ./a.out
  3. 2014-08-17 00:58:50.513 a.out[1726:507] a = 8
  4. 2014-08-17 00:58:50.516 a.out[1726:507] b = 16
  5. 2014-08-17 00:58:50.516 a.out[1726:507] c = 10
  6. 2014-08-17 00:58:50.516 a.out[1726:507] . . . . .
  7. 2014-08-17 00:58:50.517 a.out[1726:507] a = 10
  8. 2014-08-17 00:58:50.517 a.out[1726:507] b = 10

(3) 无符号整型

无符号整型 : 无符号整型 第一位 不是符号位, 范围比原来要大, 例如 short int 范围是 正负3万, unsigned short int 范围是 0到6万, 将5万赋值给 该类型不报错;

-- 示例程序 :

[objc] view plaincopy
  1. /*************************************************************************
  2. > File Name: 03-IntDemo2.m
  3. > Author: octopus
  4. > Mail: octopus_truth.163.com
  5. > Created Time: 日  8/17 01:02:39 2014
  6. ************************************************************************/
  7. #import <Foundation/Foundation.h>
  8. int main(int argc, charchar * argv[])
  9. {
  10. @autoreleasepool {
  11. unsigned short int a = 50000;
  12. NSLog(@"a = %d", a);
  13. }
  14. }

-- 执行结果 :

[plain] view plaincopy
  1. octopus-2:ios octopus$ clang -fobjc-arc -framework Foundation 03-IntDemo2.m
  2. octopus-2:ios octopus$ ./a.out
  3. 2014-08-17 01:03:35.508 a.out[1745:507] a = 50000

3. 字符型

字符型数据简介 :

-- 单个字符表示 : 使用 '' 将单个字符引起来, 便是字符常量, 如 'a', 'b' 等;

-- 转义字符表示 : 使用转义符号 \ 来指定字符, 如 '\n' 等;

-- 字符占用空间大小 : 每个字符占用一个字节, 因此 Object-C 不支持中文字符, 因为中文字符都是占 2 ~ 3 个字节;

转义字符 : 分为特殊空白字符 和 区别 单双引号 和 反斜线的转义;

-- 退格符 : '\b' ;

-- 换行符 : '\n' ;

-- 回车符 : '\r' ;

-- 制表符 : '\t' ;

-- 双引号 : '\"' ;

-- 单引号 : '\'' ;

-- 反斜线 : '\\' ;

int 与 char 类型关系 : char 类型可以当做 8 位无符号整数, 取值范围 0 ~ 255;

-- int 赋值给 char : 将 int 类型赋值给 char 变量的时候, 会自动将类型转为 char 类型;

char 类型 示例 :

[objc] view plaincopy
  1. /*************************************************************************
  2. > File Name: 05-charDemo.m
  3. > Author: octopus
  4. > Mail: octopus_truth.163.com
  5. > Created Time: 二  8/19 21:10:37 2014
  6. ************************************************************************/
  7. #import <Foundation/Foundation.h>
  8. int main(int argc, charchar * argv[])
  9. {
  10. @autoreleasepool {
  11. char a = 'a';
  12. char b = 100;
  13. char c = '\n';
  14. NSLog(@"a = %d", a);
  15. NSLog(@"b = %c", b);
  16. NSLog(@"c = %d", c);
  17. }
  18. }

执行结果  :

[plain] view plaincopy
  1. octopus-2:ios octopus$ clang -fobjc-arc -framework Foundation 05-charDemo.m
  2. octopus-2:ios octopus$ ./a.out
  3. 2014-08-19 21:13:24.815 a.out[441:507] a = 97
  4. 2014-08-19 21:13:24.816 a.out[441:507] b = d
  5. 2014-08-19 21:13:24.817 a.out[441:507] c = 10

4. 浮点型

浮点型数据类型 :

-- float : 占 4 字节;

-- double : 占 8 字节;

-- long double : 占 16 字节;

浮点数表示形式 :

-- 十进制形式 : 简单的浮点数, 包含一个小数点, 如 3.8, 38.0, .38 等;

-- 科学计数法 : 3.8E2 或者 3.8e2 代表 3.8*10^2, 只有浮点数才能使用科学计数法;

Object-C 与 Java 浮点数区别 :

-- Java 浮点数 : Java 的 double 与 float 不同, 浮点数赋值给 float 需要加上 f 后缀;

-- Object-C浮点数 : 不区分 double 与 float, 一个浮点数 3.8 可以赋值给两种类型的变量;

浮点数的特殊值 :

-- 正无穷大 : 正浮点数除以 0.0 得到正无穷大, 正无穷大都相等, 正整数除以 0.0 得到整数的边界值, short int 除以 0.0 得到 32767(2^15 -1);

-- 负无穷大 : 负浮点数除以 0.0 得到负无穷大, 负无穷大都相等, 负整数除以 0.0 得到整数的边界值, short int 除以 0.0 得到 -32768(2^15);

-- 非数 : 0.0 除以 0.0 得到一个非数, 非数与任何数包括其本身都不相等;

代码示例 :

[objc] view plaincopy
  1. /*************************************************************************
  2. > File Name: 06-floatDemo.m
  3. > Author: octopus
  4. > Mail: octopus_truth.163.com
  5. > Created Time: 三  8/20 01:08:35 2014
  6. ************************************************************************/
  7. #import <Foundation/Foundation.h>
  8. int main(int argc, charchar * argv[])
  9. {
  10. @autoreleasepool {
  11. /* 定义的10位的小数, 使用10位 %g 格式输出, 结果 float 只能接收6位小数 */
  12. float a = 3.888888888;
  13. NSLog(@"a = %10g", a);
  14. /* double 类型也只能接收6位有效值 */
  15. double b = 388.8888888;
  16. NSLog(@"b = %10g", b);
  17. NSLog(@"5.0 / 0.0 = %g", 5.0 / 0.0);
  18. NSLog(@"正无穷大对比结果 = %d", 5.0/0.0 == 500/0.0);
  19. double feiNum = 0.0 / 0.0;
  20. NSLog(@"0.0 / 0.0 = %g", feiNum);
  21. NSLog(@"非数对比结果 = %d", feiNum == feiNum);
  22. /* 获取边界 */
  23. int bound1 = 5/0.0;
  24. int bound2 = -5/0.0;
  25. NSLog(@"正边界 = %d, 负边界 = %d", bound1, bound2);
  26. }
  27. }

--  执行效果  :

[plain] view plaincopy
  1. octopus-2:ios octopus$ clang -fobjc-arc -framework Foundation 06-floatDemo.m
  2. octopus-2:ios octopus$ ./a.out
  3. 2014-08-20 01:22:22.712 a.out[776:507] a =    3.88889
  4. 2014-08-20 01:22:22.714 a.out[776:507] b =    388.889
  5. 2014-08-20 01:22:22.714 a.out[776:507] 5.0 / 0.0 = inf
  6. 2014-08-20 01:22:22.714 a.out[776:507] 正无穷大对比结果 = 1
  7. 2014-08-20 01:22:22.715 a.out[776:507] 0.0 / 0.0 = nan
  8. 2014-08-20 01:22:22.715 a.out[776:507] 非数对比结果 = 0
  9. 2014-08-20 01:22:22.715 a.out[776:507] 正边界 = 2147483647, 负边界 = -2147483648

-- 注意情况 : 不能将 5/0.0 直接以 %d 形式打印, 否则会报以下错误;

[plain] view plaincopy
  1. octopus-2:ios octopus$ clang -fobjc-arc -framework Foundation 06-floatDemo.m
  2. 06-floatDemo.m:29:44: warning: format specifies type 'int' but the argument has type 'double' [-Wformat]
  3. NSLog(@"正边界 = %d, 负边界 = %d", 5/0.0, -5/0.0);
  4. ~~                ^~~~~
  5. %f
  6. 06-floatDemo.m:29:51: warning: format specifies type 'int' but the argument has type 'double' [-Wformat]
  7. NSLog(@"正边界 = %d, 负边界 = %d", 5/0.0, -5/0.0);
  8. ~~          ^~~~~~
  9. %f
  10. 2 warnings generated.

5. 枚举类型

(1) 定义普通枚举

定义方式 : 格式 enum enum_name {elem1, elem2, elem3 ...};

-- 示例 : enum day{Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday};

定义枚举变量 : 格式 enum enum_name var1, var2;

-- 示例 : enum day today, tomorrow, 注意 today tomorrow 两个变量的取值只能是 day 枚举中定义的值;

枚举变量赋值 : 格式 variable = elm1 ;

-- 示例 : today = Sunday; tomorrow = Friday;

(2) 定义匿名枚举

匿名枚举格式 : enum {Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday} today, tomorrow ;

-- 说明 : 两个枚举变量 today 和 tomorrow 只能取值 enum 中得枚举值;

(3) 枚举值简介

枚举值常量 : 在 {} 中得是枚举常量 或者 枚举元素, 该元素不是变量, 不能对齐进行赋值, 枚举的值按照定义的顺序 0, 1, 2, 3 以此类推;

枚举值本质 : 枚举值属于无符号整数, 可以使用 %u 占位符打印出来, 其值也能进行大小比较, 和四则运算;

枚举初值 : 枚举值可以在定义的时候赋予一个初值;

(4) 枚举示例

示例程序 :

[objc] view plaincopy
  1. /*************************************************************************
  2. > File Name: 07-enumDemo.m
  3. > Author: octopus
  4. > Mail: octopus_truth.163.com
  5. > Created Time: 四  8/21 21:36:09 2014
  6. ************************************************************************/
  7. #import <Foundation/Foundation.h>
  8. int main(int argc, charchar * argv[])
  9. {
  10. @autoreleasepool {
  11. /* 定义一个枚举 */
  12. enum day {Sunday = 6, Monday = 2, Tuesday, Wednesday, Thursday, Friday, Saturday};
  13. /* 定义枚举变量 */
  14. enum day today, tomorrow;
  15. /* 为枚举变量赋值 */
  16. today = Wednesday;
  17. tomorrow = Thursday;
  18. /* 打印枚举值 */
  19. NSLog(@"today = %u", today);
  20. NSLog(@"tomorrow = %u", tomorrow);
  21. enum {alive, die} state;
  22. state = alive;
  23. NSLog(@"state = %d",  state);
  24. }
  25. }

执行结果  :

[plain] view plaincopy
  1. octopus-2:ios octopus$ clang -fobjc-arc -framework Foundation 07-enumDemo.m
  2. octopus-2:ios octopus$ ./a.out
  3. 2014-08-21 21:49:01.414 a.out[664:507] today = 4
  4. 2014-08-21 21:49:01.416 a.out[664:507] tomorrow = 5
  5. 2014-08-21 21:49:01.416 a.out[664:507] state = 0

6. 布尔型数据

BOOL 类型简介 :

-- BOOL 类型值 : 该类型至右两个值 YES 和 NO ;

-- BOOL 类型本质 : 该类型本质是 signed char, YES 是 1NO 是 0, 在处理的时候 YES 会被当成真处理NO 会被当成假处理;

定义 BOOL 类型的系统源码 :

[objc] view plaincopy
  1. #define OBJC_BOOL_DEFINED
  2. /// Type to represent a boolean value.
  3. typedef signed char BOOL;
  4. // BOOL is explicitly signed so @encode(BOOL) == "c" rather than "C"
  5. // even if -funsigned-char is used.
  6. #if __has_feature(objc_bool)
  7. #define YES             __objc_yes
  8. #define NO              __objc_no
  9. #else
  10. #define YES             ((BOOL)1)
  11. #define NO              ((BOOL)0)
  12. #endif

代码示例  :

[objc] view plaincopy
  1. /*************************************************************************
  2. > File Name: 08-boolDemo.m
  3. > Author: octopus
  4. > Mail: octopus_truth.163.com
  5. > Created Time: 二  8/26 00:29:58 2014
  6. ************************************************************************/
  7. #import <Foundation/Foundation.h>
  8. /* 判断 a 是否大于 b */
  9. BOOL isBig(int a, int b)
  10. {
  11. if(a > b)
  12. {
  13. return YES;
  14. }
  15. return NO;
  16. }
  17. int main(int argc, charchar * argv[])
  18. {
  19. @autoreleasepool {
  20. int a = 5;
  21. int b = 3;
  22. NSLog(@"a 是否大于 b : %d", isBig(a, b));
  23. BOOL c = 1;
  24. BOOL d = 2;
  25. NSLog(@"c = %d", c);
  26. NSLog(@"d = %d", d);
  27. }
  28. }

执行结果  :

[objc] view plaincopy
  1. octopus-2:ios octopus$ clang -fobjc-arc -framework Foundation 08-boolDemo.m
  2. octopus-2:ios octopus$ ./a.out
  3. 2014-08-26 00:40:48.928 a.out[1758:507] a 是否大于 b : 1
  4. 2014-08-26 00:40:48.930 a.out[1758:507] c = 1
  5. 2014-08-26 00:40:48.931 a.out[1758:507] d = 2

BOOL 类型赋值  :

-- BOOL 类型判断 : BOOL 类型会将非 0 数字当做 YES 处理;

-- 大数字赋值 : 注意 BOOL 类型只有 8 位, 赋值的时候, 只要最后8位不为0, 那么 BOOL 类型就是 YES, 如果后 8 位为0, 那么 BOOL 为 NO;

-- 示例代码 :

[objc] view plaincopy
  1. /*************************************************************************
  2. > File Name: 08-boolDemo1.m
  3. > Author: octopus
  4. > Mail: octopus_truth.163.com
  5. > Created Time: 二  8/26 00:48:05 2014
  6. ************************************************************************/
  7. #import <Foundation/Foundation.h>
  8. int main(int argc, charchar * argv[])
  9. {
  10. @autoreleasepool {
  11. BOOL a = 256;
  12. BOOL b = 512;
  13. NSLog(@"a = %d", a);
  14. NSLog(@"b = %d", b);
  15. }
  16. }

--  编译警告  :

[objc] view plaincopy
  1. octopus-2:ios octopus$ clang -fobjc-arc -framework Foundation 08-boolDemo1.m
  2. 08-boolDemo1.m:13:12: warning: implicit conversion from 'int' to 'BOOL' (aka 'signed char') changes value from 256 to 0
  3. [-Wconstant-conversion]
  4. BOOL a = 256;
  5. ~   ^~~
  6. 08-boolDemo1.m:14:12: warning: implicit conversion from 'int' to 'BOOL' (aka 'signed char') changes value from 512 to 0
  7. [-Wconstant-conversion]
  8. BOOL b = 512;
  9. ~   ^~~
  10. 2 warnings generated.

--  执行结果  :

[objc] view plaincopy
  1. octopus-2:ios octopus$ ./a.out
  2. 2014-08-26 00:50:00.705 a.out[1802:507] a = 0
  3. 2014-08-26 00:50:00.708 a.out[1802:507] b = 0

作者 : 韩曙亮

【IOS 开发】Object - C 入门 之 数据类型详解相关推荐

  1. iOS开发支付篇——内购(IAP)详解

    iOS开发支付篇--内购(IAP)详解 苹果客户端购买虚拟商品是需要走内购 先看gif图 具体步骤: 协议.税务和银行业务 信息填写 内购商品的添加 添加沙盒测试账号 内购代码的具体实现 内购的注意事 ...

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

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

  3. iOS开发中的UDID和UUID详解

    今天突然想和大家聊聊UDID和UUID的问题,虽然平时我们对这两个东西很忽视,往往也很难区分这两个东西.今天就来好好谈谈. [UDID] UDID的全名为 Unique Device Identifi ...

  4. 【iOS 开发】基本 UI 控件详解 (UIButton | UITextField | UITextView | UISwitch)

    博客地址 : http://blog.csdn.net/shulianghan/article/details/50051499 ; 一. UI 控件简介 1. UI 控件分类 UI 控件分类 : 活 ...

  5. iOS开发——高级技术本地化与国际化详解

    本地化与国际化详解 效果如下: 英语:                                                                    中文: 具体实现如下: 一 ...

  6. 【IOS 开发】Objective - C 入门 之 数据类型详解

    作者 : 韩曙亮 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/38544659 1. 数据类型简介及输出 (1) 数据类型简介 ...

  7. iOS开发-Certificates、Identifiers和Profiles详解

    如果是才进入公司进行开发的iOS程序猿来说人难免会对苹果的证书.配置文件,尤其有的需要重头开始的公司来说,最简单的来说真机调试是免不了和这些东西打交道的,有的时候赶时间做完了可能心里也犯嘀咕,本文根据 ...

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

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

  9. 【IOS 开发】基本 UI 控件详解 (UISegmentedControl | UIImageView | UIProgressView | UISlider | UIAlertView )

    转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/50163725 一. 分段控件 (UISegmentedControl) 控件展 ...

最新文章

  1. python基础1(来自廖雪峰的官方网站)
  2. CRM呼叫中心inbox的调试步骤
  3. P3703-[SDOI2017]树点涂色【LCT,线段树】
  4. java mysql实现原理_MySQL事务实现原理
  5. java 面试什么是类_Java 面试题代码类收集
  6. java如何解决高并发症,JAVA线上故障紧急处理详细过程!
  7. “元宇宙”是如何搞垮公司的?
  8. linux shell do done,bash千万不要这样cmd | while read X Y Z; do ... done使用
  9. Filecoin网络目前总质押量约为3314万枚FIL
  10. spine纹理解包 黑底_本期全欧美阵容!种草了艾玛罗的斑马纹,海狸的针织Bra【海报街拍】...
  11. 华为音量键只能调通话_手机音量键还在以为只能调音量?别傻了,赶紧看看下文绝对涨知识!...
  12. webpack 运行提示“The ‘mode‘ option has not been set”的原因和解决方法
  13. STL -- string类字符串
  14. AnyLogic简介
  15. P问题、NP问题、NPC问题和NP-hard问题详解
  16. Chrome保存整个网页为图片
  17. vb.net 遍历目录 按日期排序_之家小程序轻松玩转仿通讯录拼音首字母排序
  18. 多分辨率风场数据可视化
  19. 移动终端基带芯片的基本架构介绍之一(arm框架的软硬件组合)
  20. 天下武功,唯快不破 - O'Reilly Velocity China 2011 PPT汇总

热门文章

  1. 拓嘉启远电商:关于拼多多异常订单怎样才不会踩雷
  2. 如何从零配置高效的tensorflow python编程环境之VIM神的编辑器---DIY自己的VIM
  3. Vue主页面功能详情
  4. 智能检测与智能制造第0章 传感器与检测技术
  5. php写字板代码,JS+HTML5 Canvas实现简单的写字板功能示例
  6. 考研英语 长难句训练day59
  7. 银行基础知识-中国银行业概况及银行经营环境
  8. 在微信公众平台上创建模版并获取模版 ID。 调用模版消息接口,发送模版消息。 代码如下:...
  9. js实现大转盘抽奖活动
  10. 重启系统tomcat服务器,重启tomcat-Tomcat服务器怎么重启?