博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS开发技术笔记
阅读量:4311 次
发布时间:2019-06-06

本文共 1657 字,大约阅读时间需要 5 分钟。

一、iOS app执行工作过程

  大部分工作都是由UIApplicationMain函数完成;

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

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

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

  Cocoa Touch是所有iOS应用程序的应用环境;

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

二、Objective-C语言基本语法

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

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

       {

        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不需要文件之间的依赖;

posted on
2016-02-18 09:42 阅读(
...) 评论(
...)

转载于:https://www.cnblogs.com/anzaimary/p/5197200.html

你可能感兴趣的文章
mysql函数技巧整理
查看>>
二叉树
查看>>
IO多路复用--epoll详解
查看>>
[线段树优化应用] 数星星Star
查看>>
表单序列化以及后台表单数据参数的提取
查看>>
SQL语句(十五)视图
查看>>
nginx 设置开机启动
查看>>
继承和组合
查看>>
小程序-----上传图片
查看>>
工作流表单自定义的误区
查看>>
带有循环功能的存储过程
查看>>
数据结构-链表插入节点
查看>>
软件项目开发流程
查看>>
常用排序算法
查看>>
DOM(文档对象模型)
查看>>
为什么要安全域,哪些区域需要单独划分安全域
查看>>
【BZOJ5297】【CQOI2018】社交网络(矩阵树定理)
查看>>
【BZOJ1921】【CTSC2010】珠宝商(点分治,后缀自动机)
查看>>
追寻生命的意义
查看>>
Something wrong with iPad
查看>>