IOS学习笔记 (1)

来源:互联网 发布:2016省市区数据库json 编辑:程序博客网 时间:2024/05/18 09:52

从今天开始我要分期把我的IOS学习期间的笔记发出来,以帮助刚入门的朋友们能够更快的掌握IOS的编程方法,也供自己以后有个回看的笔记。

有些地方可能不太详细,但是只要你一步一步的按照学下去,不懂的查找资料,一定能够学好的。

Objective-C 语言中如何声明变量

命名规则   驼峰规则不要有特殊字符

数据类型

NSInteger   可以表示负数 整形变量 NSUInteger  不可以表示负数

Float 浮点型的数据,例如 1.23
NString string
类型的数据,比如"Mrs Thomson"
NSArray
其实也就是一个数组,比如说你有十个文件对象,那么你可以把他们保存在这个里面. NSSet你可以保存唯一的,没有重复的集合对象。

逻辑判断

比较对象最好用 isEqual

NSObject *object1 = [ [NSObject alloc] init];

NSObject *object2 = [ [NSObject alloc] init];

if([object1 isEqual:object2]){

    NSLog(@"Both objects are equal.");

}else{

    NSLog(@"Objects are not equal.");

}


创建自定义类

类是一个抽象实体。

OC中,类通常由以下两部分组成:头文件:.h为后缀  执行文件:.m为后缀    

定义类的功能  

Objective-C 里,一个程序返回void表示它不返回一个类似的函数的值。但它实际上是会返回值的,是用C语言写的一个无主函数。

方法分为两类:实例或类,实例方法前面用-开头,类方法用+开头。

创建一个方法的步骤:

1.方法类型  (实例方法或是类方法)

2.选择的方法的返回类型,并在括号内。(void)没有返回值,(BOOL)一个布尔值,(NSObject *)返回NSObject的一个实例,等等。

3.选择一个方法的名字,以小写字母开头。

4.如果你不像你的方法含有参数,直接跳到步骤9.

5.给参数取两个名称。一个名称作为方法名称的一部分,将会呗外部的方法所用,另一个名称将被作为方法内的一个参数名。

6.给参数取好名字后,给方法选择数据类型并括在括号内。

7.在你的参数的第一个所选名称后加上冒号(如果有),并加上括号,括号里依次为方法的数据类型和参数的第二个名称。

8.如还有多个蚕食请重复57步骤。

9.在方法名和参数后插入一个开放的大括号。大括号里面就是实现该方法功能的代码。

分配和初始化对象

必须先分配和初始化一个对象才能使用它,可以使用alloc这个实例方法来分配一个对象。该类方法会为对象,对象的实例和方法分配内存空间。但是被分配的内存并未定义,所以在使用对象之前先分配和初始化它。

继承自NSObject的对象必须经过一下两步才才能使用:

1.分配  2.初始化

添加类的属性

使用关键字 @property 给类定义属性。

任何一个通过点表示的都是一个属性,属性是方法的快捷方式。

NSObject *myObject = [[NSObject alloc]init];

myObject.accessibilityHint = @"Some string";

accessibilityHint  就是一个属性

定义方法:@property(non atomic,copy)NSString * accessibilityHint;

当定义一个属性时,会告诉告诉编译器我们将会给这个属性写上一个settergetter方法,如果在这里设置一个值,运行时将会执行setter方法,如果读取属性,则执行的 getter方法。

.m@synthesize 关键字让编译器自动为属性生成settergetter方法。

@property(nonamotic,strong,readonly)NSString *lastName;只读属性。

将手动引用计数修改为自动引用计数(ARC)

存储属性 strongweak unsafe unretained ARC管理下的任何对象都会有一个存储属性。

strong :声明为Strong类型的对象会在执行时期自动保留且在生命周期结束前都是有效的,并在结束后自动释放。就像OC传统内存管理方法中的retain

weak :弱引用。若变量声明了这个关键字,当对象的变量指针被释放时,将会设为nil。举例说明,假如你有两个字符串属性,分别设为strong引用,和weak引用,当strong属性被释放时,weak属性将会被设为nil

unsafe unretained这属性表示只做简单的变量赋值,意思是在变量赋值时,将不会做retain保留对象。


自学一下  

for 循环结构

while Loop 循环结构

很容易掌握的就不举例了。

原创粉丝点击