当前位置:编程学习 > wap >>

IOS学习笔记 (1)

从今天开始我要分期把我的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.如还有多个蚕食请重复5至7步骤。
9.在方法名和参数后插入一个开放的大括号。大括号里面就是实现该方法功能的代码。
分配和初始化对象
必须先分配和初始化一个对象才能使用它,可以使用alloc这个实例方法来分配一个对象。该类方法会为对象,对象的实例和方法分配内存空间。但是被分配的内存并未定义,所以在使用对象之前先分配和初始化它。
继承自NSObject的对象必须经过一下两步才才能使用:
1.分配  2.初始化
添加类的属性
使用关键字 @property 给类定义属性。
任何一个通过点表示的都是一个属性,属性是方法的快捷方式。
NSObject *myObject = [[NSObject alloc]init];
myObject.accessibilityHint = @"Some string";
accessibilityHint  就是一个属性
定义方法:@property(non atomic,copy)NSString * accessibilityHint;
当定义一个属性时,会告诉告诉编译器我们将会给这个属性写上一个setter和getter方法,如果在这里设置一个值,运行时将会执行setter方法,如果读取属性,则执行的 getter方法。
在.m中@synthesize  关键字让编译器自动为属性生成setter和getter方法。
@property(nonamotic,strong,readonly)NSString *lastName;只读属性。
将手动引用计数修改为自动引用计数(ARC)
存储属性 : strong,weak, unsafe, unretained。 ARC管理下的任何对象都会有一个存储属性。
strong :声明为Strong类型的对象会在执行时期自动保留且在生命周期结束前都是有效的,并在结束后自动释放。就像OC传统内存管理方法中的retain。www.zzzyk.com
weak :弱引用。若变量声明了这个关键字,当对象的变量指针被释放时,将会设为nil。举例说明,假如你有两个字符串属性,分别设为strong引用,和weak引用,当strong属性被释放时,weak属性将会被设为nil。
unsafe, unretained 这属性表示只做简单的变量赋值,意思是在变量赋值时,将不会做retain保留对象。
 
补充:移动开发 , IOS ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,