OC知识点】的更多相关文章

1.@autoreleasepool why1 2.retain O-C内存管理和点语法1>OC内存管理正常情况要使用大量的retain和relrese操作2>点语法可以减少使用retain和release的操作 3.Runloop 4.@property(retain)编译器如何申明 编译器对于@property中的retain展开是不一样的主要是要释放上一次的值,增加本次计数器在dog.h中声明的:@property(retain)Dog *dog;展开后为:-(void) setDog:…
/* 字符串: NSString  不可变字符串  字符串对象的内容不能修改,字符串的指针可以改变 NSMutableString 可变字符串   可以修改字符串对象的内容,继承自NSString ,具有所有的方法 */ 1.创建对象,实例方法和类方法 NSMutableString *mStr=[[NSMutableString alloc]initWithString:@"Hello World"]; 2.将不可变字符串转换为可变字符串 NSMutableString *mStr2…
1.类方法的优势 不用创建对象,节省了空间,直接用类名调用类方法,类方法为外界提供一个方便的调用接口.(特点:类方法以加号开头,不能使用自身的成员变量,它的调用不依赖成员变量) 2.构造方法(初始化成员变量, 类似于出厂设置) 必须以减号开头后跟init+有意义的后缀,自定义的构造方法可以包含多个参数, 返回值为id, 必须使用驼峰命名规范. 3.组合模式(类与类的组合,增强了类之间的耦合度) 即在一个类中使用另一个类定义一个成员变量表示隶属关系,如学生拥有书本,学生是一个类,书本也是一个类,用…
http://www.cnblogs.com/heyonggang/p/3351269.html M了个J :http://www.cnblogs.com/mjios/tag/objective-c/ http://www.cnblogs.com/tianjian/p/3358602.html  Cocos2d-x  VS环境配置 泰然论坛:http://www.ityran.com/archives/category/cocos2d-iphone 1.http://www.cnblogs.co…
M了个J :http://www.cnblogs.com/mjios/tag/objective-c/ http://www.cnblogs.com/tianjian/p/3358602.html  Cocos2d-x  VS环境配置 泰然论坛:http://www.ityran.com/archives/category/cocos2d-iphone 1.http://www.cnblogs.com/zilongshanren/archive/2011/09/19/2181558.html  …
id数据类型 1.通用的指针类型 2.没有*号 3.使用id类型时,不能给对象的属性或成员变量进行赋值 4.可以对其发送任何(存在的)消息   import与@class的区别 1.import会包含这个类的所有信息,包括实体变量和方法,而@class只是告诉编译器,其后面声明的名称是类的名称 2.如果类之间有循环依赖关系使用#import来相互包含,那么就会出现编译错误. 3.如果使用@class在两个类的头文件中相互声明,则不会有编译错误出现. 4.@class是放在interface中的…
属性的声明:使⽤@property声明属性
 例如:@property NSString *name: 相当于@interface中声明了两个⽅法(setter.getter): 属性的实现:使⽤@synthesize实现属性
例如:@synthesize name = _name; 相当于@implementation实现了setter.getter Objective-C提供属性的⺫的是为了简化程序员编码 为属性提供了⼀些关键字⽤以控制setter.getter的实现细节 这些关键字我们称为…
OC 面向对象 和 面向过程 参考 面向过程:使用步骤划分功能,然后用函数一步一步的调用 面向对象:OOP (Object Oriented Programming) 使用功能来简化问题, 面向对象语言 : C++. Java. C# 重点概念: 对象.类.封装.继承.多态等等 面向对象3大特征:封装.继承.多态. 封装的思想:”麻烦自己,方便别人”. 两种编程思想:面向对象设计具有良好的可扩展性.可重用性. 类和对象类:具有相同特征和行为的事物的抽象. 对象:对象就是类的实例,类的具体表现.生…
网易彩票开发知识点总结 关于网易彩票开发中遇到了不少的坑,弄了好久才弄懂,或者有些犹豫很久没用就不记得了,所以这里就总结了一下,希望以后不会忘记,就算忘记也能快速查看! /***************************************&.设置状态栏样式(白色) 两种方法******************************************/ -(UIStatusBarStyle)preferredStatusBarStyle { if ([self isEqualT…
图层与动画知识点总结 1.Core Animation 非娱乐类的软件都会用到的动画,操作简单. 2.Quartz 2D绘图 是一个2D绘图引擎. (1) 绘图Context是一个绘图的目标对象,定义了绘图的基本属性,如颜色.绘图范围.线宽及样式等. (2)通过UIView会创建Context,可以用类似如下的语句来得到当前的Context. CGContextRef currentContext = UIGraphicsGetCurrentContext(); (3)如果在对其进行修改前想要保…
一.点语法介绍 /* 以前封装后,要给属性赋值,必须调用方法 这样做,有两个缺点: 1.代码量多,调用方法要写的东西多. 2.看起来并不像是给属性赋值,也不像取值. 我们用点语法就可以更好的解决! 点语法的语法: 对象.属性; 注意:这里的属性不需要加_ 对象.属性 = 值; 点语法的本质: 其实就是调用getter或者setter方法. 点语法注意事项: 1.在类的方法里面如果用self.age 这个是调用方法,self->_age 是直接调用成员变量. 2.千万记得不要在setter或者ge…
一.方法重写 /* 重写:当子类继承了父类的方法时,如果觉得父类的方法不适合,那么可以对这个方法进行重新实现,那么这个就重写. 注意:也就是说,一定只能发生在父类和子类关系中. 然后是子类重新实现父类的方法,绝对不是再写一个自己类的方法. 代码中原话叫:子类重写父类方法. 因为父类定义的方法不一定适用于子类. 注意:如果有重写,那么调用的是自己重写后的方法,如果没有重写,那么就调用的是父类的方法. 所以我们方法有一个执行的过程: 1.先去自己类里面找这个方法,如果找到就执行. 2.如果没找到,就…
一.类方法的使用 /* 像我们之前学的方法,必须先实例化这个类的对象才能调用这个方法,类方法不用实例化对象,直接调用这个方法. 之前学的方法调用的语法: [对象名 方法名]; //对象方法 类方法: [类名 方法名]; //类方法 定义: 语法:+(返回值类型)方法名:参数列表; 注意: 1.类方法不能直接访问成员变量. 2.类方法里面可以调用其他的类方法,但不能直接调用对象方法. 3.对象方法里面可以调用类方法. 4.类方法可以和对象方法同名,互不影响.因为类方法用类名调用,对象方法用对象名调…
一.类.对象在内存中的存储 /* 内存分区: 栈:局部变量 堆:程序员自己写代码申请开辟的 程序员自己维护,编译器现在帮我们自动优化了,它在合适的给我们加上了释放空间的语句,所以我们现在写的对象不会造成内存泄露 全局区:所有的全局变量和静态变量 常量区:所有的常量 代码区:程序编译后的指令集 类是模板,肯定需要存在内存里面,因为实例化对象的时候需要根据这个模板来创建,那么存在内存里面,存在哪呢?? 类模板存在:全局区! 存的是:类的描述,还有所有的方法实现 每个对象都会有一个系统给我们的isa指…
  一.第一个OC程序 #import <Foundation/Foundation.h> //导入头文件 int main(int argc, const char * argv[]) { //main函数 @autoreleasepool {//自动释放池,我们现在写代码最好都写这里面 NSLog(@"Hello, World!"); //输出语句 } ; //退出程序,返回一个值给系统看 } 二.OC中的字符串 /* 前缀的概念:(了解一下) 提供框架的作者很多,所以…
OC语言构造方法: 用来初始化对象的方法,对象方法,以减号开头 为了让对象创建出来,成员变量就会有一些固定的值 重写构造方法的注意点: 先调用父类的构造方法([super init]) 再进行子类内部成员变量的初始化 参考:http://www.codes51.com/article/detail_111604.html 构造方法的调用: 完整的创建一个可用的对象:Person *p=[Person new]; New方法的内部会分别调用两个方法来完成2件事情, 1)使用alloc方法来分配存储…
实例方法的创建 NSDictionary *wukong = [[NSDictionary alloc] initWithObjectsAndKeys:", @"age", nil ]; NSLog(@"%@", wukong); // 便利构造器创建 NSDictionary *wuNeng = [NSDictionary dictionaryWithObjects:[NSArray arrayWithObjects:", nil] forKe…
NSString *urlString = [NSString stringWithFormat:@"http://www.apple.com"];        // 获取字符串长度    NSLog(@"长度:%lu", [urlString length]); // 求子字符串    NSLog(@"%@", [urlString substringFromIndex:4]);    NSLog(@"urlString = %@&…
记录一些常用和不常用的iOS知识点,防止遗忘丢失.(来源为收集自己项目中用到的或者整理看到博客中的知识点),如有错误,欢迎大家批评指正:如有好的知识点,也欢迎大家联系我,添加上去.谢谢! 一.调用代码使APP进入后台,达到点击Home键的效果.(私有API) [[UIApplication sharedApplication] performSelector:@selector(suspend)]; suspend的英文意思有:暂停; 悬; 挂; 延缓; 二.带有中文的URL处理. 大概举个例子…
Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结)(一)基础语法 1)关键字 @interface.@implementation.@end @public.@protected.@private.@selector @try.@catch.@throw.@finally @protocol.@optional.@required.@class @property.@synthesize.@dynamic self.sup…
Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结) 三种特性之一封装 (一)set方法和get方法 1)  set方法 1>作用:用来设置成员变量,可以在方法里面过滤掉一些不合理的值 2> 命名规范: ①方法名必须以set开头 ②set后面跟上成员变量的名称,成员变量的首字母必须大写 ③返回值一定是void ④一定要接收一个参数,而且参数类型跟成员变量类型一致 ⑤形参的名称不能跟成员变量名一样 2)  get方法 1&g…
iOS学习(OC语言)知识点整理 一.OC基础知识 1)#import  用于导入头文件,预处理阶段加载引用,只加载一次. 2)OC 依赖于Foundation框架下的头文件Foundation.h,此文件必须引用加载. 3)相较于C语言的导入头文件,头文件需要加上条件编译(#ifndef #define  #endif):防止头文件被多次包含 4)OC中关键字前面添加@符,字符串前面也需添加@符. 5)@autoreleasepool自动释放池:应用程序执行的语境,好处:应用程序会自动对内存进…
首先如果是想在终端学习的话,以下内容是必须的,如果是直接使用xcode的请随意: operating system      os       X ter   终端的缩写 ls      显示目录文件夹(Linux命令) cc-c   编绎(Linux命令) mkdir   建立一个新的子目录(命令) fraction  分数   :denominator       分母    ;numerator   分子 foundation   基础:   NSobject:Nextstep objec…
Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结) (一)类 1)类的声明 代码编写 ①定义一个Car类,拥有2个属性:轮子数.时速,1个行为:跑 ②类名\属性的命名规则:标示符的规则 ③类名的命名规范:有意义.驼峰标识.首字母大写 @interface Car : NSObject { @public int wheels; // 多少个轮子 int speed; // 时速 } - (void)run; // 跑的行为…
Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结) (一)id 1)简介:万能指针,能指向任何OC对象,相当于NSObject * id类型的定义 typedef struct objc_object { Class isa; } *id; 2)使用注意 // 注意:id后面不要加上* id p = [Person new]; 3)局限性 调用一个不存在的方法,编译器会马上报错 int main(int argc, con…
Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结) 三大特性之一的多态 (一)多态的基本概念 OC对象具有多态性体现在 Person *p = [Student new]; p->age = ; [p walk]; ①子类对象赋值给父类指针 ②父类指针访问对应的属性和方法 多态 1>没有继承就没有多态 2>代码的体现:父类类型的指针指向子类对象 3>好处:如果函数\方法参数中使用的是父类类型,可以传入父类.子…
Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结) 三大特性之继承 (一)继承的基本用法 先建立个Animal再用Dog继承前面一个,可以拥有前面所有属性 @interface Animal : NSObject { int _age; double _weight; } - (void)setAge:(int)age; - (int)age; - (void)setWeight:(double)weight; - (do…
Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结) (一)NSArray 1>NSArray :不可变数组 ①创建方法 NSArray *array = @[@"jack", @"rose"]; 注意点: OC数组不能存放nil值 OC数组只能存放OC对象.不能存放非OC对象类型,比如int.struct.enum等 这个array永远是空数组 NSArray *array = [NSA…
Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结) (一)ARC的判断准则:只要没有强指针指向对象,就会释放对象 1.ARC特点 1> 不允许调用release.retain.retainCount 2> 允许重写dealloc,但是不允许调用[super dealloc] 3> @property的参数 * strong :成员变量是强指针(适用于OC对象类型) * weak :成员变量是弱指针(适用于OC对象类…
Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结) (一)计数器 每个对象内部都保存了一个与之相关联的整数,称为引用计数器,当使用alloc.new或者copy创建一个对象时,对象的引用计数器被设置为1 1>给对象发送一条retain消息,可以使引用计数器值+1 2>给对象发送一条release消息,可以使引用计数器值-1 3>当一个对象的引用计数器值为0时,那么它将被销毁,其占用的内存被系统回收,系统也会自动向对…