OC笔记-3

简介:

1、

?
1
2
NSString *s = @ "hello" ;
NSLog(@ "age = %d" , age);


2、标示符必须以字母、下划线、美元符号开头;

OC采用Unicode编码;


3、数据类型:

Byte:1个字节

short::2个字节

int:4个字节

float:4个字节

double:8个字节

long:8个字节


4、id 类型可以存储任何类型的数据,格式化说明符:%p,打印指针也用%p


5、类是对同一类事物高度的抽象,类中定义了这一类对象所应具有的静态属性(属性)和动态属性(方法);

对象是类的一个实例,是一个具体的事物;

类与对象是抽象与具体的关系;

类其实就是一种数据类型,它的变量就是对象;


6、OC中对象的创建,使用alloc 创建一个对象:

?
1
Person *person = [Person alloc];

需要对对象进行初始化,对象才能使用:

?
1
person = [person init];

(方法嵌套使用:

?
1
Person *person = [[Person alloc] init];

)


7、

?
1
2
3
4
5
6
-(id) _getAge: ( int ) _age
{
     if (self = [super init])     //初始化父类(NSObject),成功后赋给子类self,然后才能对类方法和对象进行使用
         age = _age;
     return  self;
}



8、self 指的是类对象本身;用来调用本类对象的方法;

super 指的是父类对象本身;用来调用父类的方法;

9、self指针表示当前对象;谁在执行该self就表示谁,super表示当前对象的父对象;


10、@property 和@synthesize 用法及属性

?
1
2
3
4
5
6
7
8
9
10
11
12
//.h
@interface Person:NSObject
{
     int  myNumber;
}
@property(nonatomic)  int  myNumber;
@end
 
//.m
@implementation Person
@synthesize myNumber;
@end

该做法会自动生成myNumber 的setmyNumber和getmyNumber方法,

?
1
2
[person setmyNumber:23];
NSLog(@ "myNumber = %d" , myNumber);

@property( )括号内参数:

readwrite: 读写(默认)

readonly: 只读

assign: 引用计数不增加(默认)

retain: 引用计数增加1

actomic: 原子性(默认)

nonatomic: 非原子性

?
1
2
3
//点语法
self.myNumber = 23;         //设置
self.myNumber;              //访问




目录
相关文章
跟着小码哥一起学习OC语法,都在这里了
OC语法,这里面介绍的有: 1、NSObject对象相关:NSObject的本质、NSObject的内存分配、OC类的底层结构、isa指针和superclass指针。 2、KVO、KVC、分类的实现原理、如何给分类添加属性。 3、block相关:block的本质、block如何捕获变量、block本质对象类型、block与copy的关系、如何在block中修改变量、block的内存管理、以及有何解决block循环应用的问题。
101 0
|
Swift iOS开发
Swift与OC的混编
Swift调用OC文件 OC调用Swift文件
336 0
Swift与OC的混编
|
编译器 Python
|
编译器 C语言 Swift
|
Java C语言 iOS开发
|
Swift iOS开发
Swift与OC混编
Swift一出来就比较受人欢迎,但是还是有很多的第三方库是不支持Swift的,个人也感觉Swift还有很长的路要走。 而且最近连Swift的创始人都离开苹果公司了。。。。。。。。。 加入Swift用到了第三方的东西那怎么办呢,其实很简单,Xcode会自动帮你创建一个桥接文件,用来连接Swift和OC这两种语言,同样的在OC里面用Swift也是一样。
1289 0