iOS OC
TommyYaphetS
你不需要无所不知,但是需要关注和掌握能够帮助你快速学习的技巧
展开
-
description方法
/** 在第3行用NSLog函数输出stu对象,注意左边的格式符%@,以后想输出OC对象,就得用%@这个格式符* NSLog函数一旦发现用%@输出某个OC对象时,就会调用这个对象的description方法(这个方法返回值是NSString类型,是OC中的字符串类型), 并且将description方法返回的字符串代替%@的位置进行输出* description方法的默认实现是返原创 2014-03-05 09:18:02 · 1447 阅读 · 0 评论 -
NSTimer 使用
@@@@@@@@@@@@@@@@@@@@@@@(一)先说一下我的业务需求,最近在做一个小项目,需要用到定时器的功能,NSTimer类,期间,出现了一些小问题,不过最终通过自己的努力,终于做出来了。我想总结一下,我对NSTimer类的学习和理解。不多说了,先上效果图界面元素很简单,两个UIButton 开始和暂停,20表示起始倒计时。最终的效果是,按开始按钮的时候转载 2014-03-28 22:16:41 · 2337 阅读 · 2 评论 -
NSObject一些比较常用的方法和简单的反射
#pragma mark NSObject常用方法// 判断是否为aClass或者aClass的子类的实例- (BOOL)isKindOfClass:(Class)aClass;// 判断是否为aClass的实例(不包括aClass的子类)- (BOOL)isMemberOfClass:(Class)aClass;// 判断对象是否实现了aProtocol协议- (BOOL原创 2014-03-18 11:39:15 · 1940 阅读 · 0 评论 -
NSString的常用用法
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+(id)stringWithContentsOfFile:path encoding:enc err创建一个新字符串并将其设置为 path 指定文件的内容,使用字符编码 enc,在err 上返回错误+(id)stringWithContentsO原创 2014-03-04 10:55:48 · 2552 阅读 · 0 评论 -
代码块(block)的使用---iOS4.0以后推出(声明成属性的时候,用copy修饰)
代码块本质上是和其他变量类似。不同的是,代码块存储的数据是一个函数体。使用代码块是,你可以像调用其他标准函数一样,传入参数数,并得到返回值。脱字符(^)是块的语法标记。按照我们熟悉的参数语法规约所定义的返回值以及块的主体(也就是可以执行的代码)。下图是如何把块变量赋值给一个变量的语法讲解:按照调用函数的方式调用块对象变量就可以了:int result = myB原创 2014-03-19 13:01:43 · 1572 阅读 · 0 评论 -
NSDictionary一些常用用法
NSArray * skyAArrays = [NSArrayarrayWithObjects:@"A天空1号",@"A天空2号",@"A天空3号",nil]; NSArray * skyBArrays = [NSArrayarrayWithObjects:@"B天空1号",@"B天空2号",@"B天空3号",nil]; NSArray * skyCArrays = [原创 2014-03-14 16:24:32 · 1789 阅读 · 0 评论 -
Predicate Format String Syntax
This article describes the syntax of the predicate string and some aspects of the predicate parser.The parser string is different from a string expression passed to the regex engine. This article de转载 2014-03-15 20:03:42 · 2502 阅读 · 0 评论 -
KVO实例浅析
@最近遇到个问题,在处理项原创 2014-06-05 16:01:26 · 3655 阅读 · 0 评论 -
NSPredicate 官方文档(中文版)
概览 NSPredicate类是用来定义逻辑条件约束的获取或内存中的过滤搜索。 您可以使用谓词来表示逻辑条件,用于描述对象持久性存储在内存中的对象过滤。虽然从 NSComparisonPredicate, NSCompoundPredicate, 和 NSExpression的实例直接创建谓词是常见的,但是你会经常用NSPredicate的类方法解析的格式转载 2014-03-15 20:05:01 · 1393 阅读 · 0 评论 -
NSPredicate详解(*@*)
简述:Cocoa框架中的NSPredicate用于查询,原理和用法都类似于SQL中的where,作用相当于数据库的过滤取。定义(最常用到的方法):[cpp] view plaincopyNSPredicate *ca = [NSPredicate predicateWithFormat:(NSString *), ...];转载 2014-03-15 19:41:36 · 3252 阅读 · 0 评论 -
常用RGB颜色表
RGB值 RGB值 RGB值黑色000#000000黄色255转载 2014-05-24 21:35:44 · 4019 阅读 · 0 评论 -
通知NSNotification常用形式介绍(简单粗暴)
通知中心NSNotificationCenter iOS开发中的通知中心(NSNotificationCenter)机制解决以上的问题!在其他的开发应该也存在相类似的处理机制,这种处理机制的设计模式被称为中介者模式!每一个应用程序都有一个通原创 2014-06-05 16:21:20 · 1675 阅读 · 0 评论 -
Object Literals(提供了很棒的语法糖)
@Object Literals允许你方便地定义数字、数组和字典对象。原创 2014-05-29 22:26:15 · 2271 阅读 · 0 评论 -
KVC
@通常,我们都是通过属性来赋值和取值,这里介绍原创 2014-05-31 15:00:16 · 1505 阅读 · 1 评论 -
NSDate常用方法
#pragma mark NSDate创建(只举例类方法,实例方法一样)// 返回当前时间(GMT,0时区,格林尼治时间)+ (id)date;// 返回以当前时间为基准,然后过了secs秒的时间+ (id)dateWithTimeIntervalSinceNow:(NSTimeInterval)secs;// 返回以2001/01/01 GMT为基准,然后过了secs秒的时原创 2014-03-18 10:35:36 · 5210 阅读 · 0 评论 -
NSArray的一些用法
+(id)arrayWithObjects:obj1,obj2,...nil创建一个新的数组,obj1,obj2......是他的元素对象,以nil对象结尾-(BOOL)containsObject:obj 确定数组中是否包含对象obj-(NSUInteger)count 返回数组元素个数-(NSUInteger)indexOfObject:obj 第一个包含obj元素的索引号原创 2014-03-04 10:58:13 · 2027 阅读 · 0 评论 -
XCode实用快捷键
Xcode4.5+iOS6模拟器中看不到Home键了---------这是因为显示器的分辨率跟不上模拟器的,可以用快捷键Shift+command+H接触mac这么长时间,觉得mac最人性化、最不易让人察觉的有两个地方,第一就是mac键盘核心按键Command是由左手大拇指进行控制的,我们的大拇指可以轻松方便自然地按住Command按键,进行快捷键的组合操作,而Window转载 2014-03-04 10:17:48 · 1830 阅读 · 0 评论 -
Dictionary运用之通讯录小程序
@实现通讯录。需求:1、创建联系人类AddressContact,联系人可以存储姓名(英文,首字母大写)、地址、邮箱、电话号码、分组名(即大写字母A~Z)。2、创建通讯录类AddressBook。3、通讯录使用字典分组管理所有联系人。(即key是大写字母A~Z,每个key对应的值是数组,管理对应的联系人).4、通讯录可以添加联系人。要求:(1) 添加到对应的分组中,(2)添原创 2014-03-17 19:14:47 · 2735 阅读 · 0 评论 -
Objective-c的@property 详解
@先来介绍一下property中各个属性的含义:1.assign:这个属性一般用来处理基础类型,比如int、float等等,如果你声明的属性是基础类型的话,assign是默认的,你可以不加这个属性!(一个常见的例外是delegate的set方法通常设为assign,这是为了避免循环引用造成的引用计数无法归0,然后内存泄漏——考虑一个view的delegate为该view所在controller原创 2014-03-05 09:09:35 · 1262 阅读 · 0 评论 -
NSNumber的常用方法
@在Objective-c中有int的数据类型,那为什么还要使用数字对象NSNumber?这是因为很多类(如NSArray)都要求使用对象,而int不是对象。@NSNumber就是数字对象我们可以使用NSNumber对象来创建和初始化不同类型的数字对象。@NSNumber + (NSNumber *)numberWithInt:(int)value; + (NSNumb原创 2014-03-12 19:45:06 · 2532 阅读 · 0 评论 -
Objective-C中的self和super
@转载自http://blog.csdn.net/datacloud/article/details/7275170发送消息给self和superObjective C提供了两个保留字self和super,用于在方法定义中引用执行该方法的对象。例如,假设你定义了一个方法reposition,用来修改它所处理的某个对象的坐标,这时可以调用setOrigin::方法来完成修改。要实现这转载 2014-03-12 13:15:22 · 3327 阅读 · 0 评论 -
Objective-C Copy语法(二)对于我们自定义对象Copy以及[self class]相关的错误
@对于自定义对象的Copy:该类必须实现 NSCopying 协议,重写 copyWithZone 方法.@对于自定义对象的mutableCopy:必须实现 NSMutableCopying协议,重写 utableCopyWithZone 方法。看看下面的一个demo:@interface Student : NSObject @property (nonatomic, cop原创 2014-03-12 16:15:31 · 3127 阅读 · 0 评论 -
objective-c中#import和@class的区别
在Objective-C中,可以使用#import和@class来引用别的类型, 但是你知道两者有什么区别吗?@class叫做forward-class, 你经常会在头文件的定义中看到通过@class的引用, 原因就是当你只用@class来引入一个类时, 编译器知道有这么一个类,也就是说它能识别Engine *engine;而在implementation文件中,如果你想转载 2014-03-04 10:11:58 · 1243 阅读 · 0 评论 -
Objective-C Copy语法(一)对于Objective-C 提供的类对象NSString/NSMutableString; NSArray/NSMutableArray...
@在Objective-C 语法中,提供了Copy语法(Copy + MutableCopy)用于对象的拷贝,其中有2个含义 浅拷贝和深拷贝 //浅拷贝:指针拷贝,不会产生新的对象。源对象计数器+1。 // 深拷贝:内容拷贝,会产生新的对象。新对象计数器置为1,源对象计数器不变。NSString/NSMutableString:(NSArray/NSMutableA原创 2014-03-12 14:33:58 · 1499 阅读 · 1 评论 -
NSArray的排序
+ (id)studentWithFirstName:(NSString *)firstName lastName:(NSString *)lastName{ Student *stu = [[Student alloc] init]; stu.firstName = firstName; stu.lastName = lastName; retur原创 2014-03-04 11:16:34 · 1218 阅读 · 0 评论 -
NSMutableString常用用法
+(id)stringWithCapacity:size创建一个字符串,容量为size大小-(id)initWithCapacity:size 初始化一个字符串,容量为size-(void)setString:nsstring 将字符串设置为 nsstring-(void)appendString:nsstring 在字符串末尾追加字符串 nsstring-(void)dele原创 2014-03-04 11:47:11 · 1845 阅读 · 0 评论 -
Objective-C中NSValue的使用
我们在C/C++开发中常会用到结构体来帮助我们简单封装基本数据类型,在Objective-C中我们也可以使用结构体来完成数据类型的封装。同时,Cocoa Touch还提供了一个NSValue来帮助我们更好地在开发中使用结构体。 我们可以使用NSValue来辅助我们实现一些简单数据结构的封装。比如我们定义了一个简单的结构体类型 typedef stru转载 2014-03-04 10:01:08 · 2052 阅读 · 0 评论 -
强引用与弱引用(不太懂,不过文章形容的不错)
@__weak 和 __strong 会出现在声明中默认情况下,一个指针都会使用 __strong 属性,表明这是一个强引用。这意味着,只要引用存在,对象就不能被销毁。这是一种所期望的行为:当所有(强)引用都去除时,对象才能被收集和释放。不过, 有时我们却希望禁用这种行为:一些集合类不应该增加其元素的引用,因为这会引起对象无法释放。在这种情况下,我们需要使用弱引用(不用担心,内转载 2014-03-13 17:21:49 · 3364 阅读 · 0 评论 -
NSSet类型 以及与NSArray区别
NSSet到底什么类型,其实它和NSArray功能性质一样,用于存储对象,属于集合; NSSet , NSMutableSet类声明编程接口对象,无序的集合,在内存中存储方式是不连续的,不像NSArray,NSDictionary(都是有序的集合)类声明编程接口对象是有序集合,在内存中存储位置是连续的; NSSet和我们常用NSArry区别是:在搜索一个一个元素原创 2014-03-07 14:44:36 · 1197 阅读 · 0 评论 -
NSMutableArray的一些用法
+(id) array创建一个空数组(无需手动释放)+ (id)arrayWithCapacity:(NSUInteger)size使用指定的初始size创建一个数组- (id)initWithCapacity:(NSUInteger)size使用指定的初始size初始化新分配的数组- (void)addObject:(id)原创 2014-03-07 21:03:16 · 1650 阅读 · 0 评论 -
OC经典错误(持续更新中)
1. EXC_BAD_ACCESS 野指针错误,你访问了已经释放了得地址 2. unrecognized selector sent to instance xxxxxxxxxx 不能识别的方法发送给一个实例 某个对象没有这个方法硬要调用这个方法3.%zi 打印 unsingned long 型4. description方法内部不能打印self,不然会造成死循环原创 2014-03-04 10:10:22 · 1583 阅读 · 1 评论 -
小小小小小Hmt小战僵尸
// 普通僵尸@interface CommonZombie : NSObject{ NSString * _kind; int _totalBlood; int _everyDownBlood; BOOL _state; }@property (nonatomic,copy) NSString * kind原创 2014-03-17 19:06:30 · 902 阅读 · 0 评论 -
NSLog的格式
NSLog的格式如下所示: • %@ 对象 • %d, %i 整数 • %u 无符整形 • %f 浮点/ 双字 • %x, %X 二进制整数 • %o 八进制整数 • %zu size_t • %p 指针 • %e 浮点/转载 2014-03-18 10:39:20 · 1214 阅读 · 0 评论 -
NSData NSString char *之间 || NSData和NSArray的相互转换
1.NSString 转化为 char* NSString *testString = @"this is a test"; const char * testChar = [testString UTF8String];2.char * 转化为 NSStringNSString *str = [NSString stringWithCString:testChar encoding原创 2014-08-13 09:50:40 · 3950 阅读 · 1 评论