- 博客(19)
- 收藏
- 关注
原创 黑马程序员---Objective-C NSDictionary
key((键) ----> value(值)普通创建 NSDictionary *dict = [NSDictionary dictionaryWithObject:@"jack" forKey:@"name"];利用数组创建 NSArray *keys = @[@"name", @"address"]; NSArray *ob
2015-05-21 12:10:44
322
原创 黑马程序员---Objective-C Foundation
NSArrayOC数组---只能存放OC对象OC数组不能存放nil值OC数组只能存放OC对象、不能存放非OC对象类型,比如int、struct、enum等--这个array永远是空数组--NSArray *array = [NSArray array];1、NSArray的创建NSArray *array2 = [NSArray ar
2015-05-20 23:04:22
311
原创 黑马程序员---Objective-C Protocol
1.协议的定义 @protocol 协议名称 // 方法声明列表.... @end2.如何遵守协议 1> 类遵守协议 @interface 类名 : 父类名 协议名称1, 协议名称2> @end 2> 协议遵守协议 @protocol 协议名称 其他协议名称1, 其他协议名称2> @end
2015-05-20 22:51:58
308
原创 黑马程序员---Objective-C Block
block 的定义int (^sumblock)(int, int) = ^(int a, int b){ return a + b;}; blobk的调用int c = sumblock(10, 11);注意事项void test3(){ int a = 10; __block int b = 20; void (^block)();
2015-05-20 22:50:55
198
原创 黑马程序员---Objective-C autorelease
Autorelease 1.autorelease的基本用法 1> 会将对象放到一个自动释放池中 2> 当自动释放池被销毁时,会对池子里面的所有对象做一次release操作 3> 会返回对象本身 4> 调用完autorelease方法后,对象的计数器不变 2.autorelease的好处 1> 不用再关心对象释放的时间 2>
2015-05-20 22:44:05
297
原创 黑马程序员---Objective-C 内存管理 - set方法的内存管理
*内存管理只针对OC对象,基本类型数据int 、double、char不需要进行内存管理1.方法的基本使用 1> retain :计数器+1,会返回对象本身 2> release :计数器-1,没有返回值 3> retainCount :获取当前的计数器 4> dealloc * 当一个对象要被回收的时候,就会调用 * 一定要调用
2015-05-18 23:29:13
244
原创 黑马程序员---Objective-C Description方法
Description方法----重写NSLog的输出格式NSLog(@"%@", p); 1.会调用对象p的-description方法 2.拿到-description方法的返回值(NSString *)显示到屏幕上 3.-description方法默认返回的是“类名+内存地址”(如果想打印全部变量,就要重写description)需要某个类
2015-05-18 23:23:34
325
原创 黑马程序员---Objective-C 类的本质
类本身也是一个对象,是个Class类型的对象,简称类对象void test(){ // 利用Person这个类创建了2个Person类型的对象 Person *p = [[Person alloc] init]; // 获取内存中的类对象 Class c = [p class]; // 中括号里面的class不是类型,而是一个方法 -(Class)
2015-05-18 23:18:01
270
原创 黑马程序员---Objective-C 分类-Category
类型是 类名+分类名.h分类的作用:在不改变原来类内容的基础上,可以为类增加一些方法很好的多人合作,一个Person 一部分编写胳膊,一部分人编写这个人的脚,头, 分类一般一模块命名 使用注意: 1.分类只能增加方法,不能增加成员变量 2.分类方法实现中可以直接访问原来类中声明的成员变量 3.(不建议)分类可以重新实现原来类中的方法,但是会
2015-05-18 23:14:37
263
原创 黑马程序员---Objective-C 构造方法
构造方法:用来初始化对象的方法,是对象方法重写构造方法的目的:为了让对象创建出来时成员变量就会有一些固定的值重写构造方法的注意点1.先调用父类的构造方法([super init])2.再进行子类内部成员变量的初始化创建对象的时候,不要再用newPerson *p = [Person new];Person *p = [[Person alloc]
2015-05-18 23:10:20
414
原创 黑马程序员---Objective-C @property和@synthesize
@property和@synthesize#import@interface Person : NSObject{ int _age; int _height; double _weight; NSString *_name;}// @property:可以自动生成某个成员变量的setter和getter声明@property int age; //这
2015-05-17 20:05:50
300
原创 黑马程序员---Objective-C 成员变量的作用域
成员变量的作用域 @public : 在任何地方都能直接访问对象的成员变量 @private : 只能在当前类的对象方法中直接访问(@implementation中默认是@private) @protected : 可以在当前类及其子类的对象方法中直接访问 (@interface中默认就是@protected) @package : 只要处在同一个框架中
2015-05-17 14:02:50
371
原创 黑马程序员---Objective-C 三大特性---多态
多态 1.没有继承就没有多态 2.代码的体现:父类类型的指针指向子类对象 3.好处:如果函数\方法参数中使用的是父类类型,可以传入父类、子类对象 4.局限性: 1> 父类类型的变量 不能 直接调用子类特有的方法。必须强转为子类类型变量后,才能直接调用子类特有的方法 动物@interface Animal : NSObject
2015-05-13 23:48:41
208
原创 黑马程序员---Objective-C 三大特性---继承
继承#import 1.继承的好处: 1> 抽取重复代码 2> 建立了类之间的关系 3> 子类可以拥有父类中的所有成员变量和方法 2.注意点 1> 基本上所有类的根类是NSObject *******Animal的声明******@interface Animal : NSObject{
2015-05-13 00:13:53
287
原创 黑马程序员---C 语言中快速排序数组,不额外占用内存空间
#include //确定一个基准值的排序位置int findPosition(int *p,int low,int high)//传入数组,最小下标,最大下标{ int mid = p[low];//基准值随机选取,就选数组第一个好了,p[low]可以改动了 while(low < high)//左右同时向中间移动 { //先看 mid 右边
2015-05-13 00:06:32
641
原创 黑马程序员---Objective-C 三大特性--封装
封装#import@interface Student : NSObject{ int age; int no; }set方法 1.作用: 提供一个方法给外界设置成员变量值,可以在方法里面对参数进行相应过滤 2.命名规范: 1> 方法名必须以set开头 2> set后面跟上成员变量的名称
2015-05-11 22:50:09
433
原创 黑马程序员---OC 中数组遍历的三种方法
NSArray *array = @[@"jack",@"jim",@"rose"]; 方法1:类似c语音的最简单遍历 for (int i = 0; i { NSLog(@"%@",array[i]); } 方法2:快速遍历 id obj代表数组中的每一个元素 fo
2015-05-11 22:42:38
365
原创 黑马程序员---C语言中字符串的输入
如果想把一个字符串读到程序中,必须首先预留存储字符串的空间,然后使用输入函数来获取这个字符串。C库提供了三个读取字符串的函数:gets()和fgets()和scanf()最常用的是gets().读字符串直到遇到一个换行字符('\n') ,按回车键可以产生这个字符.它读取换行符之前(不包括换行符)的所有字符,在这些字符后添加一个空字符('\0') ,然后把这个字符串交给调用它
2015-05-10 00:03:50
403
原创 黑马程序员---飞行棋的编程
今天从上午10点开始, 老师就一直给我讲解这个游戏的制作过程. 写到晚上代码写了一坨, 吃完饭再回来看, 其实我根本不知道哪句代码是干什么的.经过我一堂课的改造, 终于把它改写成了简单易懂, 更易维护的游戏了.因为要给同桌讲解, 他英语不是很好, 幸好VS2013可以用中文作方法名, 看起来简单明了.这也是C#基础的一个综合应用了, 明天开始学面向对象, 感觉又变的高级了.
2015-05-08 22:56:14
2582
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人