Objective-C的应用
一、
基本的快捷键
command
+r run
command
+b 编译
command
+光标
显示这个函数的源码
alt
+光标
查看函数的描述
API:应用程序接口
查看帮助文档:按住alt键+光标,获取当前类的信息
查看api:按住command+光标+点击,获取当前类的api
developer.apple.com进入官方网站
二、
Vi编译器
通过vi
编译器;通过终端进入vi
vim
hello.m 创建了一个程序
在vi环境中
按i表示insert模式
esc
退到命令模式
ls看文件
gcc
hello.m -framework Foundation -o hellp.app表示编译hello.m
并生产hello.app
这个文件
./hello.app运行文件
三、
创建的main函数一些点
int
argc argument count
const
char * argv[]字符指针数组
字符串数组
@autoreleasepool自动释放池
NSLog类似于C语言中的print的格式化输出
%@输出对象
%d 输出有符号的32位的整型
四、
Objective—C中的数据类型
1)
整型:
整型是一个或多个数字序列,有正负之分。整型的长度根据不同的机器有所不同,一般是32位,可以使用sizeof函数测试整型的长度。
类型定义NSInteger
NSUInteger
整型修饰符:short
long signed
unsigned
2)
浮点型
浮点类型是带有小数点的数据类型,浮点类型可以分为单精度float类型和双精度double类型
一般双精度类型的长度是单精度的两倍,表示的数据更精确。
浮点类型可以省略小数点前或后面的数字
NSLog输出使用%f
可以使用科学计数法表示
3)
字符型
char表示一个单个字符,使用单引号括起来
NSLog输出格式为%c
command+shift+n
在Xcode中创建一个项目
\t
制表符\a 声音警告\b 退格
4)
布尔型
在oc中的布尔类型其实是无符号char的1和0,typedef
signed char BOOL;使用BOOL来定义,一般赋值为yes或NO;在oc中的布尔类型其实是无符号char的1和0,typedef
signed char BOOL
5)
特殊类型
id
在oc中,id类型可以表示任意的对象类型。也就是说我们可以将任何的对象赋值给id类型;一般当某个方法无法明确返回值类型时,我们可以指定返回id类型。类似于C#中的var
instancetype类型:对于简易构造函数,应该总是用instancetype。编译器不会自动将id转化为instancetype。id是通用对象,但如果你用instancetype,编译器就指定方法返回什么类型
6)
字符串:NSString类
字符串简介
字符串是一个unicode字符序列,用来表示一些文本内容。
oc中的字符串包括不可变字符(NSString)和可变字符(NSMutableString)
NSString和NSMutableString都是Foundation框架中的类。
字符串的初始化
1、直接进行赋值
2、使用已有的一个字符串初始化
3、格式化初始化方法
4、使用C字符串来初始化一个字符串[NSString
stringwithUtf8string:”c“]
字符串的初始化
1、直接进行赋值:NSString
*str=@"hello world";
2、使用已有的一个字符串初始化:
3、格式化初始化方法:NSString
*msg=[[NSString alloc]initWithFormat:@"%@,%d",
name,age];
4、使用C字符串来初始化一个字符串[NSString
stringwithUtf8string:”cstring!“]
NSString和NSData之间的转换
NSData是一个二进制的存储类
1、-(NSData
*)dataUSingEncoding:(NSStringEncoding)encoding;
2、-(id)initWithData:(NSData
*)data
encoding:(NSStringEncoding)encoding;
读写文件
1、-(BOOL)writeToFile:(NSString
*)path
atomically:(BOOL)useAuxiliaryFile
encoding:(NSStringEncoding)enc
error:(NSError **)error;
2、+(NSString
*)stringWithContentsOfFile:(NSString
*)filePath
encoding:(NSUTF8StringEncoding)enc
error:(NSError **)error;
字符串和数值之间的转换
1、@property
(readonly)double
doublevalue
2、@property
(readonly)floatfloatvalue
3、@property
(readonly)int
intvalue
4、@property
(readonly)NSInteger
integervalue
5、@property
(readonly)long
long longLongvalue
6、@property
(readonly)BOOL
boolvalue
7、@property
(readonly)doubledouble
value
字符串大小写转换
1、@property(readonly,copy)NSString
*uppercaseString
2、@property(readonly,copy)NSString
*lowercaseString
3、@property
(readonly,copy)NSString
*capitalizedString//单词的首字母大写
字符串比较
1、-(NSComparisonResult)compare:(NSString
*)string;
2、-(NSComparisonResult)compare:(NSString
*)string
options:(NSStringCompareOptions)mask;
3、-(NSComparisonResult)compare:(NSString
*)string
options:(NSStringCompareOptions)mask range:(NSRange)compareRange
locale:(id)locale;
可变字符串NSMutableString
1、NSString对象内容一旦创建则不可被修改
五、
Objective—C中的运算符号
1)
赋值运算
赋值是用等号运算符进行的
2)
算术运算
3)
自增自减
4)
关系运算
5)
逻辑运算
6)
位运算
位运算是二进制整数,按位进行计算
位运算包括:与,或、非和异或
六、
计算机语言的发展过程
1)
机器语言
0110等机器码
2)
汇编语言
move、jump等简单指令
3)
面向过程编程
c语言
4)
面向对象编程
java、C++、oc
面向对象:oop
是以人的思维方式来编程,将现实世界中的事物抽象为类
面向对象的特征:1、抽象:面向对象编程的过程就是抽象的过程。2、封装“将类封装起来,提供对类成员的访问权限,这样更安全。3、继承:通过继承可以重用程序代码。4、多态:一个方法多种状态,方法的动态绑定或调用。
类class
:类是一种类型,是一个模版,是抽象的。
对象object:对象是类的一个具体实现,是类的一个拷贝,是具体的。
实例instance:实例就是对象
方法method:像c语言中的函数,是一个功能代码片段。
属性property:描述类的一些变量。