摘要: 块对象相当于C#中的匿名委托,是对一段代码的引用,@selector相当于C#中的委托,是对方法的引用。创建块对象 ^{ NSLog(@"This is a block"); }声明块变量 void (^simpleBlock)(void);变量赋值 simpleBlock = ^{ NSLog(@"This is a block"); };一起写的语法 void (^simpleBlock)(void) = ^{ NSLog(@"This is a block"); };对块对象的调用 simpleBlock(... 阅读全文
posted @ 2013-08-08 17:17 万有引用 阅读(243) 评论(0) 推荐(0) 编辑
摘要: Objective-C是C的超集,C中的类型和操作在Objective-C中都是可用的。Foundation 框架提供了一些常用的struct。struct是值类型NSRancetypedef struct _NSRange { unsigned int location; unsigned int length;} NSRange;第一种初始化方法NSRange range;range.location = 11;range.length = 55;第二种方法NSRange range = {17, 55};第三种方法,使用框架提供的C函数,这种编程方式在objective-c开... 阅读全文
posted @ 2013-08-08 17:16 万有引用 阅读(253) 评论(0) 推荐(0) 编辑
摘要: 协议是对象行为的抽象,定义了消息合约。Objective-C中可以实现多个协议@protocol XYZPieChartViewDataSource- (NSUInteger)numberOfSegments;- (CGFloat)sizeOfSegmentAtIndex:(NSUInteger)segmentIndex;@optional- (NSString *)titleForSegmentAtIndex:(NSUInteger)segmentIndex;- (BOOL)shouldExplodeSegmentAtIndex:(NSUInteger)segmentIndex;@requi 阅读全文
posted @ 2013-08-08 16:16 万有引用 阅读(205) 评论(0) 推荐(1) 编辑
摘要: 类别类似于C#中的扩展方法,是对现在类进行行为的扩展,它不能进行数据扩展,也就是不能定义字段和属性;定义:#import "XYZPerson.h" @interface XYZPerson (XYZPersonNameDisplayAdditions)- (NSString *)lastNameFirstNameString;@end实现:#import "XYZPerson+XYZPersonNameDisplayAdditions.h" @implementation XYZPerson (XYZPersonNameDisplayAdditions 阅读全文
posted @ 2013-08-08 16:04 万有引用 阅读(193) 评论(0) 推荐(0) 编辑
摘要: 对象的数据是类内定义的字段,属性是对字段的封装,编译器会自动为属性生成相应的字段及读取方法。传统的定义方法@interface XYZPerson : NSObject{ @private NSString *_firstName; NSString *_name; float: _height;}- (NSString *) firstName;- (void) setFirstName : (NSString *) firstName;- (float) height;- (void) setHeight: (float) height;@end用属性的定义方法@i... 阅读全文
posted @ 2013-08-08 15:47 万有引用 阅读(208) 评论(0) 推荐(0) 编辑
摘要: 对象发送和接收消息 [someObject doSomething];someObject是接收者,doSomething是消息用指针跟踪对象值类型:NSInteger,int,float,double,char,BOOL,变量直接存储了它的值- (void)myMethod { int someInteger = 42; NSString *name = @"Bob";}@property float height;@property (copy) NSString *firstName;作为类的成员(字段,属性,上例中的height),它是作为对象的一部分分配到heap 阅读全文
posted @ 2013-08-08 11:19 万有引用 阅读(225) 评论(0) 推荐(0) 编辑
摘要: Objective-C的定义分为两部分,声明部分在以扩展名为.h的文件中,实现部分在以.m为扩展名的文件中。类的成员包括:字段(现在基本上都使用属性了)、属性、实例方法和类方法。根类为NSObject。Objective-C中的类会在运行时创建为Class的实例声明部分@interface XYZPerson : NSObject // 带存储特性属性@property (nonatomic, copy)NSString *firstName;// 只读属性@property (readonly,copy)NSString *lastName;// 值类型属性@property float h 阅读全文
posted @ 2013-08-07 11:05 万有引用 阅读(195) 评论(0) 推荐(0) 编辑
摘要: #import int main (int argc, const char *argv[]) { NSLog("%@", @"Hello Objective C"); return (0); }Objective-C是C的超集,C的特性都可以在objective c中使用以#开头的命令为预编译命令以@开头的命令为objective c专用的关键字#import 命令用于包含其它源码文件,它会对同一文件的多次包含进行智能的处理,确保只包含一次。后面跟是用于包含系统或其它框架的文件,跟" "是用于包含自己的源码文件。由于objectiv 阅读全文
posted @ 2013-08-06 17:14 万有引用 阅读(200) 评论(0) 推荐(0) 编辑