Objective-C是一种面向对象的计算机语言,Brad J Cox 1980s 设计了Objective-C,该语言是基于SmallTalk-80。1988 NeXT 发布了Objective-C,它的开发环境和类库叫“NEXTSTEP”, 1994年NeXT与Sun发布了标准的NEXTSTEP系统,取 名“OPENSTEP”,软件自由基金会OPENSTEP版本叫GNUStep。
1996 苹果公司开始支持NeXT,把NEXTSTEP/OPENSTEP用于 Mac OS X操作系统开发,它的版本和开发环境叫Cocoa,使用 Objective-C作为基础语言,开发工具Xcode和Interface Builder。 2007 苹果公司推出Objective-C 2.0,Objective-C是Mac OS X和 iOS开发的基础语言
大部分关键字都以@开头
OC不是一门全新的语言
C语言的基础上增加了一层最小的面向对象语法
OC完全兼容C语言
可以在OC代码中混入C语言代码,甚至是C++代码
可以使用OC开发Mac OS X平台和iOS平台的应用程序
@interface、@implementation、@end
@public、@protected、@private、@selector
@try、@catch、@throw、@finally
@protocol、@optional、@required、@class
@property、@synthesize、@dynamic
BOOL Class SEL YES NO id self super nil atomic nonatomic retain assign copy block …
for 循环
类型 描述
BOOL 字面常量值是YES或则NO
NSObject * OC中的对象类型
id 动态对象类型,万能指针
SEL 选择器数据类型
block 代码块数据类型
C语言for循环 OC增强for循环
for (int i = 0; i < 10; i++)
{
printf(“%d”,i); } for (NSString * name in NSArray)
{
NSLog(@”%@”,name);
}
类是用来描述对象的
类就是一系列方法与属性的集合扩展名 源类型
.h 头文件,头文件包含方法,属性的声明。
.m 类的实现文件,参与编译的文件,用来实现类中声明的方法
对象方法,使用对象调用的方法
类方法,使用类名调用的方法
对象方法
- (id)initWithString: (NSString * )name;
类方法
+ (MyClass *)createMyClassWithString: (NSString *)name;
封装性
继承性
多态性
@property
@synthesize
//声明属性
@property (nonatomic,strong)NSString * name;
//合成属性
@synthesize name = _name; |