1、iOS是什么?
iphone Operation System
使用iOS系统的设备有哪些(iphone手机,iPad,Apple watch,iPod Touch)
2、#include 和 #import的区别
#include完成头文件的导入,可能会导致头问及那的相互引用和函数变量的重复定义
为了解决这个问题 我们必须这么做
#ifndef Student_h
#define Student_h
//方法的声明
//变量的声明
#endif
#import不仅完成头文件的引入,并且防止头文件之间的相互引用
3、@autoreleasepool自动释放池
当程序运行过程中,会不断的分配内存空间给一些对象。如果说这个对象呗autorelease修饰,那么这个对象就会被立刻丢到自动释放池里面(队列 数组),系统会每隔一段时间去释放池里面判断这些对象的生命周期是否结束,如果结束,那么系统自动地将这个对象的内存释放,当程序退出,系统会将释放池里面的所有对象释放。
4、输出语句
C语言:printf(“hello”);
OC语言:NSLog(@“hello”);
这里的@符号在OC中表示一个对象@“hello” @1;
也通常用于OC的一些关键字@interface @end
%@表示输出一个对象类型
两种输出的区别:
1、printf没有自动换行 NSLog自动换行
2、printf输出的只是普通字符串 NSLog输出的是字符串对象
3、printf只能输出C语言的基本数据类型(int float double long char),NSLog可以输出对象
NSString *name = @"pxd";
NSLog(@"%@",name);
NSArray *array = @[@"pxd", @"2"];
NSLog(@"%@", array);
5、*号
在C语言里面*表示指针变量 或者是取某个地址里面的值
在OC中只需要明白在定义一个OC的对象类型前面添加一个*就可以了
int age = 20;
NSString *name = @"pxd";
NSLog(@"my name is %@,my age is %d ,name, age);