Objective-c,
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,用来存放“键-值”对儿;
相关文章
- 暂无相关文章
用户评论