Object-C学习笔记-基础篇-基础语法

还不是很完整 正在努力学习中。。。

类定义:

@interface myclassNSObject{

int age}

@property int age

@end

类实现:

@implement myclass

@synthesize age

@end

多参数方法与调用

-(void)SetAge:(int)age name:(NSString*)str;

(void)SetAge:12 name:@”hello”;

选择器:

SEL sel=@selector(Setnameage);

If([obj respondsToSelector:sel])    //判断对象是否有相应的方法

{ [obj performSelectorsel withobject]}  //调用选择器

 

Bool YES(1) NO(0)

_BOOL true(>0) false(<=0)

协议:

@opotocal NSCopying 

@required 定义必选方法

-(id) copyWithZone:(NSZone*)zone;

@optiona  定义可选方法

@end

协议扩展:

@opotocal NSCopying1 <NSCopying > 

引用协议:

@interface test:NSObject <NSCopying ,NSCoding>

异常处理:

@try{

可能发生异常代码

@throw  //抛出异常

}

@catch(NSEcception *exception){

//发生异常后的处理

NSlog(@”异常%@,%@”,[exception name],[exception reason]);

}

@fanally{

//无论是否发生必执行}

Nil 空对象

 常用于dealloc方法

指针

Int* *num;指针变量

对象变量实际为指针

线程

@synchronized(object) 

继承 

方法重写(实现不同方法重载(参数不同)

Super表示父类

Self表示当前实例

抽象类 无定义抽象类特定关键字

动态方法调用id

可动态表示任意对象

访问控制

@protected

@private

@public

Category(类别)

为已存在的类添加方法而无需增加子类 如增加NSString类的方法

@interface NSString(Utilties)(无父类)

.....

@end

无参宏定义

如:#define PI 3.1415

有参宏定义

如:#define MAX(a,b) (a>b)?a:b

#运算符

在宏定义参数前放置一个#  预定义时会根据宏参数创建C风格的常量字符串

如:#define str(x) #x  ---->str(test);---->"test"

import

类似C语言中的#include

条件编译

#ifdef 、#endif、 #else、 #ifndef

#if和#elif多判断预处理语句

#udef 将已定义的宏变为为定义

 

基础部分已完。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值