第二章 Objective-C
文章平均质量分 64
我要选李白
改变你的生活
展开
-
024.KVO 键值监听
#import#import "FKItem.h"@interfaceFKItemView : NSObject@property(nonatomic, weak) FKItem* item;- (void) showItemInfo;@end@implementationFKItemView- (void) showItemIn原创 2015-07-24 16:59:47 · 442 阅读 · 0 评论 -
025.init 初始化方法
--------------- main.m ---------------#import@interfaceFKUser : NSObject@property(nonatomic, copy) NSString* name;@property(nonatomic, assign) int age;@property原创 2015-07-25 02:57:05 · 416 阅读 · 0 评论 -
022.KVC 如何处理不合理的nil值
--------------- main.m ---------------#import@interfaceFKItem : NSObject@property(nonatomic, copy) NSString* name;@property(nonatomic, assign) int price;@end@im原创 2015-07-23 02:37:14 · 883 阅读 · 0 评论 -
007.id 类型
--------------- main.m ---------------#importintmain(){ //定义id类型的变量,并将FKPerson对象赋给该变量 id p = [[FKPersonalloc]init]; //使用p变量来调用say:方法。 //程序将在运行时执行动态绑原创 2015-07-20 23:46:14 · 315 阅读 · 0 评论 -
023.Key 路径
--------------- main.m ---------------#import#import"FKItem.h"@interfaceFKOrder : NSObject@property(nonatomic, strong) FKItem* item;@property(nonatomic, assign) int am原创 2015-07-23 02:38:56 · 367 阅读 · 0 评论 -
020.KVC 底层执行机制
--------------- main.m ---------------#import@interfaceFKDog : NSObject{ @package NSString* name; NSString* _name;// ①}@end@implementationFKDog{原创 2015-07-23 02:33:42 · 419 阅读 · 0 评论 -
016.getter= setter= 属性特性
--------------- main.m ---------------#import@interfaceFKItem : NSObject//使用@property定义一个property,并指定自定义的getter、setter方法名@property(assign, nonatomic , getter=qu , set原创 2015-07-23 02:25:59 · 283 阅读 · 0 评论 -
015.assign atomic copy 属性特性
--------------- main.m ---------------#import@interfaceFKBook : NSObject@property(nonatomic ,copy)NSString* name; // 有copy// @property (nonatomic) NSString* name; //原创 2015-07-23 02:25:02 · 258 阅读 · 0 评论 -
019.KVC 键值编码
--------------- main.m ---------------#import@interfaceFKUser : NSObject@property(nonatomic ,copy) NSString* name;@property(nonatomic ,copy) NSString* pass;@property(原创 2015-07-23 02:31:27 · 301 阅读 · 0 评论 -
021.forUndefinedKey 处理不存在的key
--------------- main.m ---------------#import@interfaceFKApple : NSObject@end@implementationFKApple- (void) setValue:(id)value forUndefinedKey:(id)key{ NSLog(@"您尝试原创 2015-07-23 02:35:42 · 379 阅读 · 0 评论 -
018.Dot notation 点语法
--------------- main.m ---------------#import@interfaceFKCard : NSObject@property(nonatomic, copy) NSString* flower;@property(nonatomic, copy) NSString* value;@end原创 2015-07-23 02:29:36 · 1331 阅读 · 0 评论 -
017.retain 属性特性
--------------- main.m ---------------#import@interfaceFKWin : NSObject@property(nonatomic, retain) NSDate* date;@end@implementationFKWin@endintmain(){原创 2015-07-23 02:27:30 · 376 阅读 · 0 评论 -
026.initWith 更多初始化方法
--------------- main.m ---------------#import@interfaceFKCar : NSObject@property(nonatomic, copy) NSString* brand;@property(nonatomic, copy) NSString* model;@proper原创 2015-07-25 02:59:12 · 792 阅读 · 0 评论 -
027.inherit 类的继承
--------------- FKFruit.h ---------------#import@interfaceFKFruit : NSObject@property(nonatomic, assign) double weight;- (void) info;@end--------------- FKFruit.m ---------原创 2015-07-25 03:00:51 · 556 阅读 · 0 评论 -
037.isEqual 合理的重写
--------------- main.m ---------------#import@interfaceFKUser : NSObject@property(nonatomic, copy) NSString* name;@property(nonatomic, copy) NSString* idStr;- (id)原创 2015-07-25 03:32:26 · 510 阅读 · 0 评论 -
036.isEqual 不合理的重写
--------------- FKItem.h ---------------#import@interfaceFKItem : NSObject@end--------------- FKItem.m ---------------#import"FKItem.h"@implementationFKItem@end------------原创 2015-07-25 03:25:44 · 386 阅读 · 0 评论 -
035.isEqual 两个变量是否相等
--------------- main.m ---------------#importintmain(){ NSString* s1 =@"疯狂iOS"; NSString* s2 =@"疯狂iOS"; NSLog(@"s1地址:%p, s2地址:%p", s1 , s2); NSLog(@"s1与原创 2015-07-25 03:23:51 · 403 阅读 · 0 评论 -
034.== 两个变量是否相等
--------------- main.m ---------------#importintmain(){ int it = 65; float fl = 65.0f; NSLog(@"65和65.0f是否相等?: %d", (it == fl)); charch = 'A';原创 2015-07-25 03:22:10 · 330 阅读 · 0 评论 -
033.description 自我描述的方法
--------------- main.m ---------------#import@interfaceFKApple : NSObject@property(nonatomic, copy) NSString* color;@property(nonatomic, assign) double weight;- (原创 2015-07-25 03:09:52 · 443 阅读 · 0 评论 -
032.NSValue NSNumber 包装类
--------------- main.m ---------------#importintmain(){ //调用类方法将int类型的值包装成NSNumber对象 NSNumber* num = [NSNumber numberWithInt:20]; NSLog(@"%@", [num class]); /原创 2015-07-25 03:07:11 · 409 阅读 · 0 评论 -
031.isKind 判断指针的实际类型
--------------- FKBase.h ---------------#import@interfaceFKBase : NSObject- (void) base;- (void) test;@end--------------- FKBase.m ---------------#import"FKBase.h"@implementa原创 2015-07-25 03:05:12 · 590 阅读 · 0 评论 -
030.(type*)variable 指针的强制类型转换
--------------- FKBase.h ---------------#import@interfaceFKBase : NSObject- (void) base;- (void) test;@end--------------- FKBase.m ---------------#import"FKBase.h"@implementa原创 2015-07-25 03:03:30 · 305 阅读 · 0 评论 -
029.Polymorphism 多态
--------------- FKBase.h ---------------#import@interfaceFKBase : NSObject- (void) base;- (void) test;@end--------------- FKBase.m ---------------#import"FKBase.h"@implementa原创 2015-07-25 03:02:24 · 387 阅读 · 0 评论 -
028.Override 方法的重写(方法覆盖)
--------------- FKBird.h ---------------#import@interfaceFKBird: NSObject- (void) fly;@end--------------- FKBird.m ---------------#import"FKBird.h"@implementationFKBird- (v原创 2015-07-25 03:00:53 · 1902 阅读 · 0 评论 -
014.@property 合成存取方法
--------------- main.m ---------------#import@interfaceFKUser : NSObject@property(nonatomic)NSString* name;@propertyNSString* pass;@propertyNSDate* birth;@end原创 2015-07-22 11:54:37 · 332 阅读 · 0 评论 -
005.self 用来访问成员变量
--------------- FKWolf.h ---------------#import@interfaceFKWolf : NSObject{ NSString* _name; int_age;}- (void) setName: (NSString*) _name andAge: (int) _age;- (原创 2015-07-20 23:45:01 · 373 阅读 · 0 评论 -
048.@throw 自定义异常
--------------- FKMyException.h ---------------#import@interfaceFKMyException : NSException@end--------------- FKMyException.m ---------------#import"FKMyException.h"@implement原创 2015-07-27 23:10:55 · 1981 阅读 · 0 评论 -
045.@protocol 委托代理
--------------- PersonOne.h ---------------#import@protocolBuy NSObject>-(void) buyTicket:(NSString*)ticket;@end@interfacePersonOne : NSObject@property(weak)id Buy> deleg原创 2015-07-27 16:32:00 · 367 阅读 · 0 评论 -
047.@try…@catch... 捕捉异常
--------------- main.m ---------------#importintmain(){ @try { FKApple* app = [[FKApplealloc]init]; [app taste]; } @catch(NSException* e原创 2015-07-27 22:29:32 · 318 阅读 · 0 评论 -
046.@try 处理异常
--------------- FKEatable.h ---------------#import@protocolFKEatable@optional-(void) taste;@end--------------- FKApple.h ---------------#import"FKEatable.h"@interfaceFKAp原创 2015-07-27 22:29:14 · 301 阅读 · 0 评论 -
038.category 分类/类别
--------------- NSNumber+fk.h ---------------#import@interfaceNSNumber (fk)- (NSNumber*) add: (double) num2;- (NSNumber*) substract: (double) num2;- (NSNumber*) multiply: (double)原创 2015-07-26 10:15:08 · 332 阅读 · 0 评论 -
001.FKPerson 类的接口文件
--------------- FKPerson.h ---------------#import@interfaceFKPerson : NSObject{ NSString* _name; int _age;}- (void) setName:(NSString*) name andAge: (int) age;- (原创 2015-07-20 23:42:36 · 330 阅读 · 0 评论 -
040.category 调用私有方法
--------------- FKItem.h ---------------#import@interfaceFKItem : NSObject@property(nonatomic, assign) double price;- (void) info;@end--------------- FKItem.m -----------原创 2015-07-26 11:47:24 · 1387 阅读 · 0 评论 -
039.category 对类进行模块化设计
@interfaceUIView : UIResponder NSCoding,UIAppearance,UIAppearanceContainer,UIDynamicItem,UITraitEnvironment,UICoordinateSpace>@interfaceUIView(UIViewGeometry)@interfaceUI原创 2015-07-26 11:41:01 · 269 阅读 · 0 评论 -
043.@protocol 正式协议
--------------- FKOutput.h ---------------@protocolFKOutput@optional- (void) output;@required- (void) addData: (NSString*) msg;@end--------------- FKPrintable.h ---------------#i原创 2015-07-26 17:09:27 · 296 阅读 · 0 评论 -
044.@interface <>遵守正式协议
--------------- main.m ---------------#import#import"FKPrintable.h"#define MAX_CACHE_LINE10@interfaceFKPrinter : NSObject FKPrintable>@end@implementationFKPrinter{原创 2015-07-26 17:39:13 · 415 阅读 · 0 评论 -
042.@interface 非正式协议(category)
--------------- FKApple.h ---------------#import#import"NSObject+Eatable.h"@interfaceFKApple : NSObject@end--------------- FKApple.m ---------------#import"FKApple.h"@imple原创 2015-07-26 16:45:10 · 599 阅读 · 0 评论 -
049. isKindOfClass 检查继承关系
--------------- FKEatable.h ---------------#import@protocol FKEatable@optional- (void) taste;@end--------------- FKApple.h ---------------#import"FKEatable.h"@interface原创 2015-07-28 11:32:55 · 503 阅读 · 0 评论 -
050.performSelector 动态调用方法
--------------- FKCar.h ---------------#import@interface FKCar :NSObject@end--------------- FKCar.m ---------------#import"FKCar.h"@implementation FKCar- (void) move{原创 2015-07-28 11:33:51 · 482 阅读 · 0 评论 -
009.Member variable 实例变量(成员变量)
--------------- main.m ---------------#import@interfaceFKPerson : NSObject{ @public NSString* _name; int_age;}@end@implementationFKPerson@end原创 2015-07-21 19:27:35 · 445 阅读 · 0 评论