自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 收藏
  • 关注

原创 黑马程序员--OC学习笔记之代理模式的简单分析

代理模式概念       传入的对象,代替当前类完成了某个功能,称为代理模式。代理模式是在oc中经常遇到的一种设计模式,那什么叫做代理模式呢? 举个例子:有一个婴儿,他本身不会自己吃饭和洗澡等等一些事情,于是婴儿就请了一个保姆,于是婴儿和保姆之间商定了一个协议,协议中写明了保姆需要做什么事情, 而保姆就是这个代理人,  即:婴儿和保姆之间有个协议,保姆继承该协议,于是保姆就需要实现该协议中

2015-07-02 14:39:21 562

原创 黑马程序员--有关OC内存管路set方法的思考

基本数据类型不需要内存管理,管理的是对象类型分析:   int main()        {                Person *p = [[Person alloc] init];  //p->1                p.age = 20;                                Car *c1 = [[Car al

2015-07-01 23:11:49 528

原创 黑马程序员--OC内存管理之循环retain问题

请看如下代码:Dog.h     #import      @class Person;   //声明一个Person类,仅仅是一个声明     @interface Dog : NSObject     @property(nonatomic, retain) Person *owner;   //拥有owner属性     @end Person.h 

2015-07-01 23:09:09 430

原创 黑马程序员--c语言动态内存分配

动态内存分配  (malloc)函数原型:      void *malloc (size_t size)         size_t是无符号的长整形           动态内存在堆段          返回值void*表示泛型指针,可以赋给任意一个类型的指针变量         函数类型存储在栈段 eg:    char *p = malloc(1

2015-06-27 13:05:45 506

原创 黑马程序员--c语言函数

函数:什么情况下定义函数:添加一个常用的新功能函数的定义格式:返回值类型  函数名(形式参数列表){函数体}定义函数需要明确的东西:起一个有意义的函数名函数体内部不能定义和形参一样的变量1.形式参数;定义函数时函数名后面中的参数,简称形参2.实际参数: 调用函数式传入的具体数据,简称形参3.实参个数必须等于形参个数4.函数体内部不

2015-06-26 21:55:06 663

原创 黑马程序员--流程控制

流程控制: 顺序结构选择结构1.if的第一种结构:if(条件){语句;}2.if的第二句语句if(){语句; }else{语句;}3.if的第三种结构if(){}else if(){ }else if (){}else{}4.if的第四种语句if()语句1;语

2015-06-26 21:37:44 405

原创 黑马程序员--c语言各种运算

算术运算:c一共有34个运算符,包括了常见的加减乘徐运算+ (还可以表示正号)-(还可以表示负号)  */(整数除以整数,还是整数,1/2的值是0)%(取余运算或模运算,两边必须都是整数,-10%3=-1,,10%-3=1,%结果的正负性只和%左边被除数正负有关)int a = 10.8;//自动类型转换(double->int),会产生警告int b = (i

2015-06-26 21:36:09 491

原创 黑马程序员--枚举类型和结构体

枚举类型:场合:固定取值,方便交流,比如性别设置1为男性,不好识别1.定义枚举类型:enum Season{spring, // 0 整形可以改值  spring = 1,其他依次递增summer,//1autumn,//2winter//3};2.定义枚举变量enum Season s = summer;enum Sex {Man, Woman

2015-06-26 21:15:01 420

原创 黑马程序员--预处理3中指令

预处理指令分3种:1>宏定义2>条件编译3>文件包含预处理指令在代码翻译成0 1之前执行预处理的位置是随便写的预处理指令的作用域:从编写指令的那一行开始一直到文件结尾# undef COUNT // 从这行开始,COUNT这个宏失效宏名一般用大写或者以k开头,变量名一般用小写带参数的宏定义:宏定义只会替换代码# define # defi

2015-06-26 20:53:33 396

原创 黑马程序员--c语言指向函数的指针

指向函数的指针:void test(){printf("调用了test函数");}int main(){void (*p)(); //(*p)是固定写法,表指针变量p肯定是指向函数//左边的void:指针变量p指向的函数没有返回值//右边的():指针变量p指向的函数没有形参p = test; //指针变量p指向了test函数p()

2015-06-26 20:47:38 437

原创 黑马程序员--指针与数组字符串

指针和数组:int ages[5] = {1, 2, 3, 4, int *p;//指针变量p指向了数组的首元素p = &ages[0];// 数组名就是数组的首地址,也是数组首元素的地址// 也可以写为p = ages;p为ages[0]的地址p+1为ages[1]的地址 p+2为ages[2]的地址  //地址相差4个printf("%d\n", *(p

2015-06-26 20:43:51 525

原创 黑马程序员--c语言指针的基本知识

指针类型:int *p;  //定义了一个指针变量p,指针变量只能存储地址//指针变量p前面的int:指针变量p只能指向int类型的数据*p = 10; //指针能够找到对应的存储空间,并且可以修改利用指针可以改变多个值练习(用一个函数实现和差):# includeint SumAndMinus(int n1, int n2, int *n3);in

2015-06-26 20:35:28 418

原创 黑马程序员--typedef关键字和结构体 枚举类型

typedef 关键字:typedef int MyTnt;  //给int 提供一个别名typedef MyInt MyInt2;typedef (char *) String结构体:struct Student{int age;};typedef struct Student MyStu;typedef struct Student {

2015-06-26 20:21:20 608

原创 黑马程序员--c语言数据类型总结

数据类型总结:一.基本数据类型int long int, long   8个字节  %ldshort int, short  2个字节%d %iunsigned int, unsigned4个字节 %zdsigned int, signed, int4个字节 %d %ifloat\doublefloat   4个字节 %fdouble   8个字

2015-06-26 20:15:34 402

原创 黑马程序员--代码块

代码块作用域:从定义的哪行代码开始,直到函数结束{代码块   代码块只在大括 号里面起作用(运行完毕内存释放)}举例:int score = 100;{int score = 200;printf("%d", score);//值为200  执行完,此代码块释放}printf("%d", score);// 值为100   函数内部定

2015-06-26 19:47:03 441

原创 黑马程序员--c语言关键字,标示符,注释,数据,常量,变量介绍

关键字(保留字)c(32个)  特征:全部小写 比如:int return     标识符: 比如函数名命名规则:只能由26个大小写,10个数字,下划线组成严格区分大小写不能以数字开头不可以使用关键字做标示符命名规范:最好起一个有意义的名字,别人一看这个名称就能识别也可以使用拼音 如果如果标示符包含多个单词,也可以使用驼峰表示(后面每个单词的首字

2015-06-26 19:40:21 426

转载 黑马程序员--extern与函数分析

extern与函数先来理解2个概念:外部函数:如果在当前文件中定义的函数允许其他文件访问、调用,就称为外部函数,c语言规定,不允许有同名的外部函数。内部函数:如果在当前文件中定义的函数不允许其他文件访问、调用,只能在内部使用,就称为内部函数。c语言规定不同的源文件可以有同名的内部函数,并且互不干扰。下面说明在一个源文件中调用另一个源文件的函数,比如在main.c中调

2015-06-18 20:43:11 421

原创 黑马程序员--ios中 property的参数

property 参数(4类,不同类型的参数可以一起写 @property (readwrite, assign) int age):1.内存管理相关的参数retain:release jiu值,retain xin值,适用于非OC对象类型assign:直接赋值(默认),适用非OC对象类型,@property (assign) int age copy  :release旧值,co

2015-05-25 14:17:45 394

原创 黑马程序员--ios内存管理

内存管理:ARC机制,自动管理内存传统的内存管理也要学好基本原理:什么是内存管理:移动设备的内存极其有限,每个APP所能占的内存是有限制的当APP所占用的内存较多时,系统会发出内存警告,这是得回收一些不需要使用的内存(对象,变量等)管理范围:任何继承了NSObject的对象:对其他基本数据类型(int char)等无效int char 等基本类型 存

2015-05-25 14:14:53 535

原创 黑马程序员--ios 中SEL这个数据类型简介

运行 [p test]; //1.首先把test包装成SEL类型的数据,在去类中找相对应的SEL(Person这个类:SE地址L s1 == test)           //2.根据SEL数据找到对应的方法地址           //3.根据方法地址调用对应的方法间接调用test方法:[p performSelector:@selector(test2)];// 传入SE

2015-05-25 13:24:57 489

原创 黑马程序员--ios中load initialize description

1.当程序启动的时候,就会加载项目中的类和分类,而且加载后会调用每个类和分类的+load方法,只会调用一次2.当第一次使用某个类时,就会调用当前类的+initialize方法3.先加载父类,在加载子类(load 和 initialize方法)load:先加载原始类,在加载分类,不管程序运行过程有没有用到这个类,都会调用 , 可以监听类的初始化过程,知道类什么时候被使用

2015-05-25 13:21:27 399

原创 黑马程序员--ios category 简介

分类的作用:在不改变原来类内容的基础上,为类增加一些方法使用注意:1.分类只能增加方法,不能增加成员变量2.分类方法实现中可以访问原来类中声明的变量3.分来的优先级高,优先去分类中找方法,然后再去原来类中找,最后去父类中找4.分类可以重新实现原来类中的方法,但是会覆盖掉原来的方法,会导致原来的方法没法再使用5.如果两个分类中有相同的方法,会使用最后参与编译的分类

2015-05-25 13:10:45 368

原创 黑马程序员--ios Foundation中几个类NSNumber,NSValue,NSSet

NSNumber NSNumber *intNumber = [[NSNumber alloc] initWithInt:5];NSNumber *floatNumber = [[NSNumber alloc] initWithFloat:3.14f];NSNumber *doubleNumber = [[NSNumber alloc] initWithDouble:6.7];NS

2015-05-25 11:10:42 431

原创 黑马程序员--Foundation框架下三大类简介和基本方法

NSString :NSString *str = @"hello world!";NSString *str2 = [[NSString alloc] initWithString:str];NSString *str3 = [[NSString alloc] initWithUTF85String:"hello world!"];//用c的字符串创建OC的字符串对象

2015-05-25 10:55:51 428

原创 黑马程序员--c语言结构体介绍

结构体(构造类型:数组):数组:只能由多个相同类型的数据构成结构体:可以由多个不同的类型的数据结构体类型 结构体变量名1.定义结构体类型struct Person{//里面的3个变量可以称为结构体的成员或者属性int age;double height;char *name;};2.根据结构体类型,定义结构体变量struct Pe

2015-05-22 15:03:54 383

原创 黑马程序员--ios protocol语法简介

protocol基本用途:可以用来声明一大堆方法(不能声明成员变量)只要某个类遵守了这个协议,就相当于拥有了这个协议中的所有方法声明只要父类遵守了某个协议,就相当于子类也遵守了1.协议的定义:@protocol 协议名称  方法声明列表@end2.如何遵守协议:一个类遵守协议:@interface 类名 : 父类名 @end

2015-05-22 14:28:15 403

原创 黑马程序员--ios block语法介绍

1.bLock保存了一段代码,可以在任何时候执行2.block跟函数相同点:1>.可以保存代码 2>.有返回值 3>.有形参 4>.调用方式一样3.如何定义block变量:int (^sumBlock)(int, int);void (^myBlock)();4.如何利用block封装代码:^(int a, int b){return a -

2015-05-22 13:13:02 337

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除