
OC语言
文章平均质量分 72
伟哥爱编程
这个作者很懒,什么都没留下…
展开
-
全局变量和静态变量分析
内存分部区域 gInit全局变量和静态的局部变量sInit 通过调试内存观察可以得知,这两种数据类型都是存储在同一个内存区域中,这个区域通常被称为,全局数据区,或静态区。在英文文档中则称这部分区域为 data段,而又因为这两个数据在声明时并时行了初始化操作,所以再细分则存储在data段中的初始化数据段的读写段(rw); 而gNonint全局变量和静态的stNoneInit局部变原创 2015-07-11 11:21:41 · 1141 阅读 · 0 评论 -
OC 反汇编代码基本语法
有时为了弄清楚OC语法在背后究竟做了些什么,知道一些汇编语法还是有好处的汇编语法主要分为Intel和AT&T两种, 通常在windows下通过 VC或VS或者BCB编译器调度程序得看到的反汇编都是intel格式的而苹果系统下xcode的反汇编则是AT&T格式的通过网络查询ATT汇编语法主要注意以下几点1,操作数的长度 b(byte, 8bit)w(转载 2015-04-12 19:09:01 · 1764 阅读 · 0 评论 -
OC 点语法 和 成员变量作用域
1 点语法 OC中点语法是对象成员set方法和get方法的一种简写形式. 使用更方便,更直观//// Person.h// 点语法//// Created by LiuWei on 15/4/14.// Copyright (c) 2015年 LiuWei. All rights reserved.//#import @interface Person :原创 2015-04-14 17:30:15 · 492 阅读 · 0 评论 -
OC 类的继承
//// main.m// 继承//// Created by LiuWei on 15/4/13.// Copyright (c) 2015年 LiuWei. All rights reserved.//#import /*继续的好处 抽取代码 建立类之间的关系 子类中拥有父类中所有的成员变量和方法 注意 基本上所有的类都继续自NSObject*//原创 2015-04-13 21:39:08 · 520 阅读 · 0 评论 -
OC 类中带参数的方法和匿名对象
#import @interface JiSuanQi : NSObject- (int) pingFang:(int)num;// - (int) sum:(int)num1 :(int)num2;- (int) sumWithNum1:(int)num1 andNum2:(int)num2;@end;@implementation JiSuanQi// OC方法中 一原创 2015-04-12 21:46:43 · 1965 阅读 · 0 评论 -
类和对象
类的声明和实现1 类的声明 // 声明对象的属性、行为// OC中所有的类都是NSObject的子类 // NSObject使子类具有创建对象的能力@interface Car : NSObject{//对象的属性都在这个大括号中声明 int wheels; // 轮胎个数 int speed; // 车速}@end声明一个类时所使用的关键原创 2015-04-12 07:58:24 · 349 阅读 · 0 评论 -
OC NSString的简单用法
//// main.m// NSString//// Created by LiuWei on 15/4/14.// Copyright (c) 2015年 LiuWei. All rights reserved.//#import int main(int argc, const char * argv[]) { // NSString 创建一个字符原创 2015-04-14 13:06:46 · 574 阅读 · 0 评论 -
OC set方法的内存管理
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- 当一个对象中引用了另外一个对象, 在set方法中应当注意所引用的对象和原来所拥有的对象是否为同一对象. 以避免发生野指针错误示例代码如下//// Car.h// set方法内存管理//// Created by LiuWei on 15/4/16.//原创 2015-04-16 13:54:36 · 454 阅读 · 0 评论 -
OC 内存管理 --- 引用计数简单使用
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- 为什么程序设计要进行内存管理1, 移动设备的内存,一般都极其有限, 所以每个APP能够分得的内存也是有限的2, 当APP占用内存较多时,系统会发出内存警告, 这时得回收一些不再使用的内存空间,3, 管理范围, 内存管理作用于任何继承了NSObject的对象, 一些基本数据类原创 2015-04-16 09:56:40 · 1120 阅读 · 0 评论 -
OC id指针 和 isa指针
id 被称为万能指针,可以指向任何OC对象, 查看id的声明/// A pointer to an instance of a class.typedef struct objc_object *id;id 是由typedef 重新定义的一个 指向结构体 objc_object的指针类型, 注释的解释为: 指向一个类实例的指针再看下objc_object的定义///原创 2015-04-15 09:43:36 · 1229 阅读 · 0 评论 -
OC @autorelease
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- 使用@autorelease关键字,生成自动释放池, 放在释放池中的对象, 我们不用再关键何时需要对其进行release操作当池子被销毁时, 会对放在池子中的所有对象进行一次release操作. 池中对象是以栈的形式存放的, 先生成的对象后释放, 后生成 的对象行释放//原创 2015-04-17 11:18:23 · 483 阅读 · 0 评论 -
OC 自定义构造函数
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- //// Student.h// 自定义构造函数//// Created by LiuWei on 15/4/15.// Copyright (c) 2015年 LiuWei. All rights reserved.//#import @interf原创 2015-04-15 14:59:11 · 1878 阅读 · 0 评论 -
Foundation NSObject常用方法 类名方法名和字符串之间相互转换
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------//// main.m// NSObject常用方法//// Created by LiuWei on 15/4/19.// Copyright (c) 2015年 LiuWei. All rights reserved.//#import #impo原创 2015-04-19 16:18:57 · 958 阅读 · 0 评论 -
OC __block int i 和 int i的区别
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- __block声明的变量和不用__block声明的变量有什么区别呢? 示例代码如下:#import int main(){ __block int i = 0; __block int j = 0; __block int k = 0;原创 2015-04-17 16:09:33 · 894 阅读 · 0 评论 -
OC self指针
当调用对象方法时,编译器都会默认传入一个指向本对象的指针。所以不同的对象都会调用到正确的成员变量。这个指针就是self,它的值就是new时在堆中分配内存的首地址。那么这个self在方法调用时是存储在栈中么?上代码调试来看一下#import @interface Person : NSObject{ int _age;}- (void)setAge:(int)age;- (原创 2015-04-13 19:34:28 · 672 阅读 · 0 评论 -
OC 类的封装 set方法和get方法
封装的目的是为了实现程序代码设计上的高内聚,低耦合性。类似我们生活中,看电视使用的“接口”-- 遥控器, 可以对电视机进行操作。至于电视机的内部构造原理,我们是不需要知道的。电视机的生产商也不希望我们知道。 哪个人切换频道时要到电视机上把两根线“短路”一下呢,这个技巧掌握不好,可能人和电视机一起就挂掉了!!!而我们又确实要对电视机进行相关操作来修改电视机运行状态和数据。所以电视机的生产厂商给我提供原创 2015-04-13 17:20:05 · 805 阅读 · 0 评论 -
OC 类的多态
多态,就是多种状态,OC中实现多态很简单,只要用父类类型的指针指向子类对象,就可以实现多态。多态实现前提,一定要有继承关系。多态实现原理: 子类对象生成时就已经把子类所应该调用的方法记录到一个表中,虽然接收子类对象的指针是父类类型,可是其中保存的地址还是子类对象的,这样就可以通过子类对象数据,查表调用到正确的方法,而实现多态//// main.m// 多态//// C原创 2015-04-14 11:03:51 · 465 阅读 · 0 评论 -
OC 类的加载和初始化
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- //// Person.h// 类的加载和初始化//// Created by LiuWei on 15/4/15.// Copyright (c) 2015年 LiuWei. All rights reserved.//#import @interface原创 2015-04-15 17:21:20 · 1838 阅读 · 0 评论 -
Foundation NSMutableDictionary
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- //// main.m// NSMutableDictionary//// Created by LiuWei on 15/4/19.// Copyright (c) 2015年 LiuWei. All rights reserved.//#impor原创 2015-04-19 10:24:04 · 327 阅读 · 0 评论 -
OC 分类
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- 分类是在不改变类代码的前提下,扩充类方法//// Student.h// 分类//// Created by LiuWei on 15/4/15.// Copyright (c) 2015年 LiuWei. All rights reserved.//原创 2015-04-15 15:17:44 · 406 阅读 · 0 评论 -
OC 类继承注意事项
类的继续可以加快代码的构建,建立类的关系,使得程序员可以用面向对象的思维模式处理计算机数据问题,继承使用中要注意以下几点1,子类中不能声明和父类中同名的成员变量2, 调用的方法如果在当前类中没有声明和实现,则会在运行时向父类的类信息中进行查找,如果父类中也没有,则会继续向父类的父类信息中去查找。。。3, 父类必须声明在子类的前边 #import // Person类原创 2015-04-14 09:46:31 · 534 阅读 · 0 评论 -
OC 类方法 对象方法 对象成员之间的关系
#import @interface Person : NSObject{ int _age; // 年龄 float _height; // 身高}/* 特征: 用类名来调用的方法, 不需要创建对象, 主要用来表达类相关信息 语法: 类方法 以 + 号开头, 其它特征与对象方法相同*/+ (void)showClassName; // 打印类名- (v原创 2015-04-13 18:44:05 · 511 阅读 · 0 评论 -
深复制和浅复制
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------OC 设计copy语法的目的就是以源对象为基础复制生成一个新的对象, 对新对象的操作不会影响到源对象对象可以使用copy或mutableCopy方法来创建副本copy 需要先实现NSCopping协议, 创建的是不可变副本, 如 NSArray, NSDictionar原创 2015-04-19 16:31:49 · 458 阅读 · 0 评论 -
C/OC 语言 if else 和switch 哪个更效率
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- 一般情况下, 当switch分支小于等于3个时, 生成的代码和if else几乎没有太大差别, 如果分支在4个以上, 编译器则会对代码进行算法上的优化, 比如int a = 2; switch (a) {原创 2015-04-17 19:32:47 · 2729 阅读 · 0 评论 -
OC @property的内存管理
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- @property是OC 类成员变量set方法和get方法的简写形式, 那么带内存管理的set方法和get方法的简写又要遵守哪些规则 呢1 @property生成set方法内存箮相关参数 retain : release原来拥有对象, retain新对象 a原创 2015-04-17 09:55:18 · 659 阅读 · 0 评论 -
OC SEL
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- //// Person.h// SEL//// Created by LiuWei on 15/4/15.// Copyright (c) 2015年 LiuWei. All rights reserved.//#import @interface Pe原创 2015-04-15 22:51:18 · 532 阅读 · 0 评论 -
OC description方法的使用
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- //// Teacher.h// description//// Created by LiuWei on 15/4/15.// Copyright (c) 2015年 LiuWei. All rights reserved.//#import @interf原创 2015-04-15 20:19:26 · 582 阅读 · 0 评论 -
OC 构造函数 alloc init
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------原创 2015-04-15 12:57:00 · 713 阅读 · 0 评论 -
OC @property 和 @synthesize 关键字
@property @synthesize//// Person.h// property//// Created by LiuWei on 15/4/14.// Copyright (c) 2015年 LiuWei. All rights reserved.//#import @interface Person : NSObject{ int _age;原创 2015-04-14 20:11:02 · 470 阅读 · 0 评论 -
OC基本语法
1关键字OC中基本上所有关键字都是以@开头的一些觉常见的关键字 @interface @implementation @end @public @protected @private @selector @try @catch @throw @finally@protocol @optional @requir原创 2015-04-10 20:56:03 · 644 阅读 · 0 评论 -
OC block变量的理解
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- blcok封闭了一段代码, 可以在任何时候执行block可以作为函数的参数,或函数的返回值, 而其本身又可以带参数和返回值苹果官方建议多用block, 在多线程,异步任务,集合遍历,集合排序,动画转场用得很多在这个代码中block的作用仅仅返回数值1,原创 2015-04-17 14:00:43 · 1186 阅读 · 0 评论 -
OC ARC机制
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- ARC 就是自动引用计数, OC中引入的自动引用计数概念和java中的垃圾回收机制不同, java中的垃圾回收是在程序运行时进行判断, 如果某些对象不再需要了,则对其进行释放. 而ARC是一种编译器特性, 是在编译代码中, 合适的位置插入 release方法. 也就不太需要我原创 2015-04-17 12:57:13 · 575 阅读 · 0 评论 -
OC 多个对象之间的内存管理
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- 内存管理原则1, 谁创建谁释放 通过 alloc, new 或[auto]copy创建的对象,所必须对应的引用一次 release 或autorelease来释放2, 谁retain, 谁release 只要retain, 那么在不需要时就要调用一次relea原创 2015-04-16 12:53:15 · 364 阅读 · 0 评论 -
每个软件开发人员必须知道的关于 Unicode 和字符集最小限度的知识(没有理由不知道!)
The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!)by Joel SpolskyWednesday, October 08, 2003Ever wonder about tha转载 2016-03-01 14:45:31 · 2324 阅读 · 0 评论