欢迎访问移动开发之家(rcyd.net),关注移动开发教程。移动开发之家  移动开发问答|  每日更新
页面位置 : > > > 内容正文

Objective-c,

来源: 开发者 投稿于  被查看 47186 次 评论:200

Objective-c,



File=>new=>project=>application中的command line tool

type要选择Foundation

 

@autoreleasepool:自动释放池  可以有效的对内存进行管理(相当于java的垃圾回收)

NSLog:相当于printf

@"字符串" :oc中的字符串类型,类型名叫NSString

oc中还可以用%i类型描述符来表示int类型

 

oc中类的书写结构:

//声明部份

@interface类名 :父类名(一般默认写NSObject)

方法结构声明或属性

@end

 

//实现部份

@implemetation类名

方法体或属性

@end

 

oc中方法的书写结构:

例:-(void) setValue: (int) n;

方法类型(返回值类型)方法名:(参数类型)形参名

方法类型:-实例方法      +类方法(类似java中的static)

 

Rectangle *rectangle;//声明一个引用,类型为Rectangle

rectangle = [Rectanglealloc];//在内存中开辟一块可以存放一个Rectangle对象的空间;

rectangle = [rectangle init];//初始化Rectangle对象

 

还可以写成:rectangle  = [[Rectanglealloc]init];

 

方法的调用:[对象名 方法名] [对象名  方法名:参数]

 

扩展名为.h的文件用来存放类的声明部分

扩展名为.m的文件用来存放类的实现

 

新建一个类:File=>newFile=>Cocoa Touch下的Objective-c class

 

如何让程序自动为属性提供set/get方法:

在inteface中加入@property属性类型 属性名;

在implemetation中加入 @synthesize 相应属性名;

这样就会自动为属性添加set/get方法

 

方法中传入多个参数:

方法类型(返回值类型)方法名:(参数类型)形参  方法名:(参数类型)形参

例:-(void)setWidth:(double)w andLength:(double) l;

 

 

 

 

初始化对象的另一种形式:

//circle = [[Circle alloc]init];

 circle = [Circlenew];

 

self:类似于java中的this关键字,表示当前对象本身。

 

@class:在一个类中用到了指针类型的属性,用此语句可以让程序识别该类型

 

多态:不同的类可以有相同的方法名,程序在执行的时候会自动去判断调用的是哪个类的方法;

 

动态绑定:程序在执行期间自动去判断所调用的方法是哪个对象,并根据实际情况去调用相应的方法。

 

id类型:id类型是通用的数据类型,主要是用来实现动态绑定。

 

 

 

 

 

 

 

 

init方法最基本的模型



 super:指父类的引用

属性的作用域:

@private---只能在自己类的类内部调用,在实现中声明的属性默认是private

@protected---可以在自己类内部或子类的内部调用,在接口中声明的属性默认是protected

@public---任何地方都能调用

 

oc中提供的关于字符串的类是NSString

NSString类型的描述符是%@

NSString中的方法description类似于java中的toString,在输出一个对象的时候,会自动调用该方法。

类方法stringWithFormat可以将非NSString类型的值格式化输出

 

NSNumber类,可以创建各种数值类型的对象,类似于java中的基本数据类型包装类。

 

NSArray:oc中的数组类型,可以将对象放入里面

NSMutableArray:可变数组类型,类似于java中的集合

 

NSDictionary:类似于java中的map,用来存放“键-值”对儿;

相关文章

    暂无相关文章

用户评论