[转Iphone]iphone开发阶段总结(一) 基础知识

来源:互联网 发布:aide源码 编辑:程序博客网 时间:2024/05/18 01:06

1.objc是扩充C的面向对象,开发mac osx的编程语言。

 

2.objc中的减号与加号

减号表示一个函数、或者方法或者消息的开始(在一个类的实例上被调用和实施)

加号表示其他的函数可以直接调用这个类中的方法,而不用创建这个类的实例

 

3.NS开发包

乔布斯的NextStep公司缩写,现今mac os使用NS这套函数库

 

4.#import作用如同#include,用于声明头文件。

 

5.nil表示空指针,相当于javanull

 

6.objc中使用字符串,前面要加上"@",是因为在前面加上"符号",编译器在编译的时候会在程序中给你留出位置,这样才能保证这个字符串不会丢失。(@是把C的字符串转成NSString的一个简写)

 

7.开发objc类,需要创建一个头文件和一个实现文件

头文件(.h):包含类的实例变量的名称和类型、描述方法参数和返回值类型的方法签名;

实现文件(.m):包含这些方法的实现代码,以及对别的类不可见的,仅与实现本身相关的局部变量的声明和使用。

 

8.九宫格解法原理;(右上解法)

左出右写入、右出左写入、上出下写入、下出上写入、重排置下;

 

9.iphone应用程序的项目基本结构

classes:里面存放object-c类源代码文件(可以创建子文件夹来组织代码);

other sources:存放除objective-c类之外的源代码文件;

resources: 包含应用程序中的非代码文件(因为应用程序只能在自己的沙盒中运行,不然找不到)

Frameworks:特殊的库,可以存放库、框架、图像、声音等资源;

Products:包含项目在编译时生成的应用程序(xxx.app);

 

10.Info.plist文件里的bundle identifier(束标识符)

它是应用程序的唯一标识符,要始终配置,命名格式为:顶级Internet+.+公司名称+.+应用名称;

 

11.一个在代码里对nib中对象(UILabelUITextField)的引用被称为一个插座变量(outlet),用关键字IBOutlet标明(在头文件里);能够被nib中对象调用的方法称为动作(action),用关键字IBAction标明(在实现文件里)

 

12.在实现某个动作或是对象后要对这个动作或是对象后要使用release释放内存。

 

13.IBOutlet

输出口 使用关键字IBOutlet来声明实例变量,并通过这个实例变量来引用nib中的对象;

 

14.-(IBAction)doSomething:(id)sender

控制某个对象执行某项动作 通过关键字IBAction来声明,通过IBAction告诉interface Builder,此方法是一个操作,且可以被某个控件触发;通常 这个操作接受一个参数,该参数被定义为id,名称被指定为sender.(当需要传参数的时候就通过sender来传递,当不需要传参数的时候sender可以不写的)

 

15.@property (retain , nonatomic) UILable textArea;

retain是通知编译器向分配给此属性的对象发送一个保留(retain)消息,确保属性的实例变量在被使用过程中不会被从内存中删除;

 

nonatomic是 创建一个互斥访问,避免读和写不同步(非原子性访问)

通过这个属性声明访问来提高执行的效率;(原子性好比如我们去银行存钱,存进去的时候银行账户就会同时增加相应的数额,有一面失败就都回到原来的状态);

 

16.内存管理理解                                                                

:程序A里有一段内存被成功申请完成之后,内存计数器就从0变为1

(这个过程是alloc);

:然后程序B里也要使用这个内存,那么内存计数器从1变为2

(这个过程是retain);

:紧接着程序A不需要这个内存了,那么程序A就把这个内存计数器减1

(这个过程是release);

:当系统发现这个内存计数器变为0,那么就调用内存回收程序把这段内存回收(这个过程是dealloc)

 

17.objc使用消息机制来调用方法,消息就是一个类或者对象可以执行的动作

消息表达式:[对象或者类名字 方法名字:参数序列];

对象或者类名字:接收器,是消息的接收者;

方法名字:参数序列:要发送的消息(要执行的动作)

原创粉丝点击