本系列的文章主要来自于个人在学习前锋教育-欧阳坚老师的iOS开发教程之OC语言教学视频所做的笔记,边看视频,边记录课程知识点。建议大家先过一遍视频,在看视频的过程中记录知识点关键字,把把握重点,然后再将零散的知识点整理出来。这样的学习方法会带来更多的收获,同时要多做练习,按照思路,默写、改写代码。在这里,感谢欧阳坚老师,学习你的课程使我走上了ios的开发之路。
一定要明确一个要从事的方向,要不然就会感到迷茫。学习ios开发,并且从事ios开发这个行业,这就是我的选择。看到我的博客系列文章,其中大多是关于C++、Qt、Linux网络编程、OpenGL、Unity3D等方面。从表面上看和ios开发似乎没有多少关联,但是有了这些方面的学习经验给我带了一定的基础。ios开发主要用oc和swift语言,而oc是从事ios开发的基础。众所周知,oc(objective-c)即面向对象的C,在C语言的基础上增加了面向对象的机制和内存管理这一对翅膀,使得OC在做ios开发如虎添翼。
本系列文章仅供个人学习和分享给志同道合的猿友,不存在商业用途。
下面看一段oc的小程序:
//Person.h--头文件
#import<Foundation/Foundation.h>
@interface Person:NSObject{//成员变量需定义在该中括号内
@private//成员变量的访问权限
int _age;
NSString *_name;
}//与C/C++不同,这里不需要加";" //方法的声明----"-"表示实例方法即类实例化之后才能使用的方法,"+"表示类方法相当于C++中的静态方法
-(void) setAge:(int)age;
-(int)getAge;
-(void) setName:(NSString *)name;
-(NSString *)getName;
@end //Person.m--源文件实现申明的方法
@implementation Person
-(void) setAge (int)age{
_age = age;
} -(int)getAge{
return _age;
} -(void) setName:(NSString *)name{
_name=name;
}
-(NSString *)getName{
return _name;
}
@end //main.m
int main()//主函数,程序的入口
{
@autoreleasepool{
Person *person = [[Person alloc] init];//分配内存并进行初始化
[person setAge:];//函数的调用,相当于person->age = 200;
[person setName:@"小红"];
}
return ;
}
程序中定义了一个Person类,通过注释,相信有C和C++基础的同志都能大致了解这段代码。
关于Person对象的内存分布,如下图所示: