iOS开发技术笔记

1、iOS app执行工做过程app

  大部分工做都是由UIApplicationMain函数完成;框架

  UIApplicationMain函数由UIKit框架提供(UIKit框架提供应用程序构建、管理用户界面所须要的所有类);函数

  在源文件main.m中自动调用;ip

  UIKit框架只是Cocoa Touch提供的众多框架中的一个;资源

  Cocoa Touch是全部iOS应用程序的应用环境;编译器

  调用UIAppilcationMain扫描应用程序中的Info.plist文件,Info,plist是键值对结构化列表;it

2、Objective-C语言基本语法io

  OC是C语言的超集,支持与C相同的基本语法; 编译

  eg.1. @interface MyClass(类名称) : NSObject*(父类名称)class

       {

        int  count;

        id   data;

        NSString* name;

        }(成员变量) 

     - (id)initWithString:(NSString*)aName;(实例的方法声明)

     +(MyClass*)createMyClassWithString:(NSString*)aName;(类的方法声明)

     @end

  eg.2. -(void)insertObject:(id)anObject atIndex:(NSUInteger)index

      语句说明:

     - : 方法类型标识符(+为类,-为实例);

     void : 返回类型;

     insertObject:, atIndex: :方法签名关键词;

     id,NSUInteger : 参数类型;

     anObject,index : 参数名;  

  eg.3. block:可移植的匿名函数,可用做回调。

     int multiplier = 7;

     int (^myBlock)(int) = ^(int num){ return num * multiplier; };

     语句说明:

       第一个int : myBlock是一个块,会返回int值;

     第二个int : block采用一个参数,也是int类型;

     ^myBlock :'^'将变量myBlock声明为一个块;

     ^(){} : 一个字面常量块定义,分配给变量myBlock;

     num : 参数名;

     return num * multiplier; : 块的主体部分;

  eg.4. 协议

     @inteface HelloWorldViewController : UIViewController <UITextFieldDelegate>

     @end

     遵照了<UITextFieldDelegate>协议

  eg.5 #import

     预处理指令;

     #import由#include衍生来,是#include的改良版,#import能够保证一个头文件不被屡次包含;

     #import和@class:

     #import包含这个类的全部信息,包括实体变量和方法;@class只告诉编译器,后面声明的名称是类的名称,并不考虑类如何定义等;

     #import用于实现类里面,@class用于头文件;通常@class是放在interface中;

     #import相对于@class更加耗费资源;

     #import使文件之间有依赖关系,@class不须要文件之间的依赖;

相关文章
相关标签/搜索