- 博客(34)
- 资源 (1)
- 收藏
- 关注
原创 【Objective-C 语言】1 …
一、 备注 1 、\\ , \** ….*\ 2、#pragmamark 3、#warning二、 NSStirng 1、截取一个路径中最后一层文件,http://a/b/123/abc.txt --->abc.txt lastPathComponent 2、截取字符串中指定
2014-05-15 14:29:49
539
原创 【Objective-C 语言】10&nbsp…
一、 基本简介1. ARC是自iOS 5之后增加的新特性,完全消除了手动管理内存的烦琐,编译器会自动在适当的地方插入适当的retain、release、autorelease语句。你不再需要担心内存管理,因为编译器为你处理了一切2. ARC 是编译器特性,而不是iOS 运行时特性,它也不是类似于其它语言中的垃圾收集器。因此ARC 和手动内存管理性能是一样的,有时
2014-05-15 14:29:47
504
原创 【Objective-C 语言】9 …
一、 BlocksBlock封装了一段代码,可以在任何时候执行Block可以作为函数参数或者函数的返回值,而其本身又可以带输入参数或返回值。苹果官方建议尽量多用block。在多线程、异步任务、集合遍历、集合排序、动画转场用的很多 二、 Blocks的定义Blocks的定义:int (^MySum)(int, int) = ^(int a, int b){ return
2014-05-15 14:29:45
438
原创 【Objective-C 语言】8 …
一、 简单使用1. 基本用途 可以用来声明一大堆方法(不能声明成员变量) 只要某个类遵守了这个协议,就相当于拥有这个协议中的所有方法声明 只要父类遵守了某个协议,就相当于子类也遵守了 2. 格式 协议的编写@protocol协议名称//
2014-05-15 14:29:42
573
原创 【Objective-C 语言】7 …
一、 基本原理1. 什么是内存管理移动设备的内存极其有限,每个app所能占用的内存是有限制的当app所占用的内存较多时,系统会发出内存警告,这时得回收一些不需要再使用的内存空间。比如回收一些不需要使用的对象、变量等 管理范围:任何继承了NSObject的对象,对其他基本数据类型(int、char、float、double、struct、enum等)无效
2014-05-15 14:29:40
378
原创 【Objective-C 语言】6 …
1. 分类-Category 1. 基本用途Ø 如何在不改变原来类模型的前提下,给类扩充一些方法?有2种方式l 继承l 分类(Category) 2. 格式Ø 分类的声明@interface 类名(分类名称)//方法声明@endØ 分类的实现@implementation
2014-05-15 14:29:38
432
原创 【Objective-C 语言】5 …
1. 继承1. 继承的基本用法l 设计两个类Bird、Dog// Bird的声明@interface Bird : NSObject{ @public int weight;}- (void)eat;@end// Bird的定义@implementation Bird- (void)eat { NSLog(@"吃吃吃-体
2014-05-15 14:29:36
462
原创 【Objective-C 语言】4 …
1. set方法和get方法 1. set方法和get方法的使用场合@public的成员可以被随意赋值,应该使用set方法和get方法来管理成员的访问(类似机场的安检、水龙头过滤,过滤掉不合理的东西),比如僵尸的生命值不能为负数2. set方法1) 作用:用来设置成员变量,可以在方法里面过滤掉一些不合理的值2)
2014-05-15 14:29:34
395
原创 【Objective-C 语言】3 …
1. 定义OC的类和创建OC的对象Ø 接下来就在OC中模拟现实生活中的情况,创建一辆车出来。首先要有一个车子类,然后再利用车子类创建车子对象Ø 要描述OC中的类稍微麻烦一点,分2大步骤:类的声明、类的实现(定义)。跟函数类似,函数有分声明和定义 1. 类的声明1) 代码编写Ø 定义一个Car类,拥有2个属性:轮子数、时速,
2014-05-15 14:29:31
428
原创 【Objective-C 语言】2 …
1. 面向对象和面向过程思想OC是面向对象的,C是面向过程的。面向对象和面向过程只是解决问题的两种不同思想 1. 面向对象和面向过程的区别1) 以用电脑听歌为例子a) 面向过程Ø 打开电脑 Ø 播放电脑中的歌曲 Ø 关闭电脑 b) 面向对象(不是相亲的“对象”)Ø
2014-05-15 14:29:29
418
原创 【Objective-C 语言】1 …
1. 第1个OC程序 1. 代码编写跟C语言一样,OC程序的入口依然是main函数,只不过写到一个.m文件中。比如这里写到一个main.m文件中(文件名可以是中文)#include int main(){ printf("第1个OC程序\n"); return 0;} 2. 终端指令Ø 编译cc –c main.mØ
2014-05-15 14:29:27
463
原创 【C语言】21 typedef
1.typedef作用简介 我们可以使用typedef关键字为各种数据类型定义一个新名字(别名)。 1 #include 2 3 typedef int Integer; 4 typedef unsigned int UInterger; 5 6 typedef float Float; 7 8 int main(int argc, const char * arg
2014-05-15 14:29:25
317
原创 【C语言】21 枚举
1.枚举的概念枚举是C语言中的一种基本数据类型,并不是构造类型,它可以用于声明一组常数。当一个变量有几个固定的可能取值时,可以将这个变量定义为枚举类型。比如,你可以用一个枚举类型的变量来表示季节,因为季节只有4种可能的取值:春天、夏天、秋天、冬天。 2.枚举类型的定义一般形式为:enum 枚举名 {枚举元素1,枚举元素2,……};enum Season {spring, summer
2014-05-15 14:29:23
406
原创 【C语言】19 结构体
1.什么是结构体在实际应用中,我们通常需要由不同类型的数据来构成一个整体,比如学生这个整体可以由姓名、年龄、身高等数据构成,这些数据都具有不同的类型,姓名可以是字符串类型,年龄可以是整型,身高可以是浮点型。为此,C语言专门提供了一种构造类型来解决上述问题,这就是结构体,它允许内部的元素是不同类型的。2.结构体的定义1.定义形式 结构体内部的元素,也就是组成成分,我们一般称为"成员"。结构
2014-05-15 14:29:21
421
原创 【C语言】18 static和extern-…
1.在C语言中,全局变量定义的位置是有限制的默认情况下,一个函数不可以访问在它后面定义的全局变量static和extern---对变量的作用" />在第4行定义的main函数中尝试访问第9行定义的变量a,编译器直接报错了。解决这个错误的话,有2种办法:第1种办法:将变量a定义在main函数的前面static和extern---对变量的作用" />这样做编译器就不会找你麻烦了。 第
2014-05-15 14:29:16
393
原创 【C语言】17 static和extern…
1.extern与函数外部函数:如果在当前文件中定义的函数允许其他文件访问、调用,就称为外部函数。C语言规定,不允许有同名的外部函数。内部函数:如果在当前文件中定义的函数不允许其他文件访问、调用,只能在内部使用,就称为内部函数。C语言规定不同的源文件可以有同名的内部函数,并且互不干扰。接下来就演示在一个源文件中调用另外一个源文件定义的函数,比如在main.c中调用one.c中定义的one
2014-05-15 14:29:14
352
原创 【C语言】16 变量类型
1.变量的作用域 C语言根据变量作用域的不同,将变量分为局部变量和全局变量。1.局部变量1> 定义:在函数内部定义的变量,称为局部变量。形式参数也属于局部变量。2>作用域:局部变量只在定义它的函数内部有效,即局部变量只有在定义它的函数内部使用,其它函数不能使用它。 2.全局变量1> 定义:在所有函数外部定义的变量,称为全局变量。2>作用域:全局变量的作用范围是从定义变量的位置
2014-05-15 14:29:12
543
原创 【C语言】15 预处理指令--文件包含
1.基本概念其实我们早就有接触文件包含这个指令了,就是#include,它可以将一个文件的全部内容拷贝另一个文件中。 2.一般形式1.第1种形式#include 直接到C语言库函数头文件所在的目录中寻找文件 2.第2种形式#include "文件名"系统会先在源程序当前目录下寻找,若找不到,再到操作系统的path路径中查找,最后才到C语言库函数头文件所在目录中查找 3.使用注
2014-05-15 14:29:10
564
原创 【C语言】14 预处理指令--条件编译
1.基本用法预处理指令--条件编译" />1 #if 条件12 ...code1...3 #elif 条件24 ...code2...5 #else6 ...code3...7 #endif预处理指令--条件编译" />1>如果条件1成立,那么编译器就会把#if 与#elif之间的code1代码编译进去2>如果条件1不成立、条件2成立,那么编译器就会把#el
2014-05-15 14:29:08
490
原创 【C语言】13 预处理指令1-宏定义
1.预处理指令简介1.C语言在对源程序进行编译之前,会先对一些特殊的预处理指令作解释(比如之前使用的#include文件包含指令),产生一个新的源程序(这个过程称为编译预处理),之后再进行通常的编译2.为了区分预处理指令和一般的C语句,所有预处理指令都以符号"#"开头,并且结尾不用分号3.预处理指令可以出现在程序的任何位置,它的作用范围是从它出现的位置到文件尾。习惯上我们尽可能将预处理指令写
2014-05-15 14:29:05
468
原创 【C语言】12 返回指针的函数…
1.返回指针的函数 指针也是C语言中的一种数据类型,因此一个函数的返回值肯定可以是指针类型的。返回指针的函数的一般形式为:类型名 * 函数名(参数列表) 比如下面这个函数,返回一个指向char类型变量的指针返回指针的函数与指向函数的指针" /> 1 // 将字符串str中的小写字母变成大写字母,并返回改变后的字符串 2 // 注意的是:这里的参数要传字符串变量,不能传字符串常量
2014-05-15 14:29:03
1205
原创 【C语言】11 指针和字符串
1.用指针遍历字符串的所有字符指针和字符串" /> 1 // 定义一个指针p 2 char *p; 3 4 // 定义一个数组s存放字符串 5 char s[] = "lj"; 6 7 // 指针p指向字符串的首字符'm' 8 p = s; // 或者 p = &s[0]; 9 10 for (; *p != '\0'; p++) {11 printf("%
2014-05-15 14:29:01
526
原创 【C语言】10 指向一维数组元…
1.用指针指向一维数组的元素指向一维数组元素的指针" /> 1 // 定义一个int类型的数组 2 int a[2]; 3 4 // 定义一个int类型的指针 5 int *p; 6 7 // 让指针指向数组的第0个元素 8 p = &a[0]; 9 10 // 修改所指向元素的值11 *p = 10;12 13 // 打印第一个元素的值14 printf("
2014-05-15 14:28:59
338
原创 【C语言】09 指针
1.什么是指针?1.我们已经知道,"直接引用"是直接通过变量名来读写变量2.C语言中还有一种"间接引用"的方式(以变量a为例):首先将变量a的地址存放在另一个变量中,比如存放在变量b中,然后通过变量b来间接引用变量a,间接读写变量a的值。这就是"间接引用"。指针" />如果程序通过"间接引用"的方式来修改a的值,可以这样做:先根据 变量名b 获取 变量b的地址ffc2,取出变量b中存储的
2014-05-15 14:28:57
480
原创 【C语言】08 字符和字符串常…
1.字符处理函数下面介绍的两个字符处理函数都是在stdio.h头文件中声明的。1.字符输出函数putchar字符和字符串常用处理函数" />putchar(65); // Aputchar('A'); // Aint a = 65;putchar(a); // A字符和字符串常用处理函数" />上面的3种用法,输出的都是大写字母A。*putchar一次只能输出一个
2014-05-15 14:28:55
608
原创 【C语言】07 字符串
1.字符串简介*在Java中,一个字符串可以用String类型来存储String s = "LJ";C语言中没有String这种类型。其实字符串就是字符序列,由多个字符组成,所以在C语言中,我们可以用字符数组来存储字符串。* 字符串可以看做是一个特殊的字符数组,为了跟普通的字符数组区分开来,应该在字符串的尾部添加了一个结束标志'\0'。'\0'是一个ASCII码值为0的字符,是一个
2014-05-15 14:28:52
494
原创 【C语言】06 数组
1.一维数组1.一维数组的定义*定义的形式为:类型 数组名[元素个数]int a[5]; *[]只能放在数组名的后面,下面的都是错误写法:int[5] a; // 错误int[] b; // 错误 *[]里面的个数必须是一个固定值,可以是常量(比如6、8)、常量表达式(比如3+4、5*7)。绝对不能使用变量或者变量表达式来表示元素个数,大多数情况下不要省略元素
2014-05-15 14:28:50
463
原创 【C语言】05 基本语句和运算
1基本语句C语言的基本语句跟Java中的差不多,所以,这里只是简单地提一下循环语句(do while、while、for)条件语句(if 、if-else、switch)goto语句 2.基本运算计算机的基本能力就是计算,所以一门语言的计算能力十分重要。C语言之所以无所不能,很大原因在于它有强大的计算能力。C语言一共有34种运算符,其中的大多数运算符跟在Java中的用法是一样的。
2014-05-15 14:28:48
499
原创 【C语言】04 printf和scanf函数
1.printf函数这是在stdio.h中声明的一个函数,因此使用前必须加入#include,使用它可以向标准输出设备输出数据1.用法1> printf(字符串)printf("Hello, World!");输出结果是:printf和scanf函数" />2> printf(字符串, 格式符参数)printf和scanf函数" />1 // 使用常量作参数2 pri
2014-05-15 14:28:46
623
原创 【C语言】03 基本数据类型
1.变量跟其他语言一样,C语言中用变量来存储计算过程使用的值,任何变量都必须先定义类型再使用。为什么一定要先定义呢?因为变量的类型决定了变量占用的存储空间,所以定义变量类型,就是为了给该变量分配适当的存储空间,以便存放数据。比如你是char类型,我就只给你分配1个字节就够了,没必要分配2个字节、3个字节乃至更多的存储空间。下面的表格描述了在16位编译器环境下,基本数据类型所占用的存储空间,了解
2014-05-15 14:28:44
588
原创 【C语言】02 函数
1.函数的分类C语言的函数可以大概分为3类:1.主函数,也就是main函数。每个程序中只能有一个、也必须有一个主函数。无论主函数写在什么位置,C程序总是从主函数开始执行2.开发人员自定义的函数,可有可无,数目不限3.C语言提供的库函数,例如stdio.h中的输出函数printf()和输入函数scanf() 2.函数的声明和定义虽说C中的函数类似于Java中的方法,但在使用上还是有区别
2014-05-15 14:28:42
455
原创 【C语言】01 Hello World!
由于要学习的是iOS开发,因此就使用Mac平台下的Xcode搭建C语言开发环境1.打开Xcode,新建Xcode项目Hello World!" /> 2.选择最简单的命令行项目Hello World!" /> 3.输入项目信息Hello World!" />Organization Name和CompanyIdentifier可以随便写,对C项目没有影响Use Automa
2014-05-15 14:28:40
453
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人