框架是一个目录,包含了共享资源库,用于访问该资源库中储存的代码的头文件,以及图像、声音文件等其他资源。共享资源库定义应用程序可以调用的函数和方法。

iOS 提供了许多可在应用程序开发中使用的框架。要使用一个框架,请将它添加到项目,以便应用程序可以链接到它。大多数应用程序都链接到 Foundation、UIKit 和 Core Graphics 框架。根据您为应用程序选取的模板,可能也包括其他框架。如果一组核心框架无法满足应用程序的要求,您总是可以将其他框架添加到项目。

Foundation 框架为所有应用程序提供基本的系统服务

您的应用程序以及 UIKit 和其他框架,都建立在 Foundation 框架的基础结构之上。Foundation 框架提供许多基本的对象类和数据类型,使其成为应用程序开发的基础。它还制定了一些约定(用于取消分配等任务),使您的代码更加一致,可再用性更好。

使用 Foundation:

  • 创建和管理集,如数组和字典

  • 访问储存在应用程序中的图像和其他资源

  • 创建和管理字符串

  • 发布和观察通知

  • 创建日期和时间对象

  • 自动发现 IP 网络上的设备

  • 操控 URL 流

  • 异步执行代码

在“您的首个 iOS 应用程序”中,您就使用了 Foundation 框架。例如,您使用了 NSString 类的实例,将用户的输入储存在 userName 中。您还使用了 Foundation 实例方法 initWithFormat:,创建问候语字符串。

UIKit 框架提供的类,可用于创建基于触摸的用户界面

所有 iOS 应用程序都基于 UIKit。没有这个框架,就无法交付应用程序。UIKit 提供基础结构,用于在屏幕上绘图、处理事件,以及创建通用用户界面元素。UIKit 还通过管理屏幕上显示的内容,来组织复杂的应用程序。

使用 UIKit:

  • 构建和管理用户界面

  • 处理基于触摸和运动的事件

  • 显示文本和网页内容

  • 优化应用程序以实现多任务

  • 创建自定用户界面元素

在“您的首个 iOS 应用程序”中,您使用了 UIKit。检查应用程序如何启动时,您看到了 UIApplicationMain 函数,它创建了 UIApplication 类(处理传入的用户事件)的一个实例。您实现了 UITextFieldDelegate 协议,以便在用户轻按“Done”键时,让键盘消失。事实上,您使用了 UIKit 中的 UITextFieldUILabelUIButton 类,创建了整个界面。

转载于:https://www.cnblogs.com/ShlodenZhang/archive/2013/06/04/3116674.html

IOS开发学习---Fundation框架和UIKit框架相关推荐

  1. IOS开发学习笔记(一)

    概述: iOS是苹果开发的手持设备操作系统(iPhone,iPad,iPod touch,iPad mini). 基于UNIX,层次架构:核心操作系统层(Core OS)-> 核心服务层(Cor ...

  2. IOS开发学习周报(一)

    IOS开发学习周报(一) 学习记录 概括 熟悉在Mac OS下的开发操作,熟悉系统操作.了解相关快捷键以及触摸板快捷操作以便提高后续开发效率. 学习Objective-C相关语法,实操完成螺旋矩阵的算 ...

  3. 【IOS 开发学习总结-OC-60】ipad应用开发的一些知识

    [IOS 开发学习总结-OC-60]ipad应用开发的一些知识 ipad与iPhone上 管理有层次的工作流的不同 iPhone上:通过NavigationController,用户可以从上一层界面A ...

  4. ios开发学习-手势交互(Gesture)效果源码分享

    qianqianlianmeng ios开发学习-手势交互(Gesture)效果源码分享 All Around Pull View 介绍:实现视图四个方向(上下左右)都能够拖动更新(pull to r ...

  5. ios开发学习笔记--Core Motion

    iOS开发学习笔记之CoreMotion-运动传感器 官网文档:CoreMotion Framework Reference 一.     简介 现在的苹果手机都基本有运动传感器,能够过获取到设备的加 ...

  6. IOS开发学习笔记-----UILabel 详解

    IOS开发学习笔记-----UILabel 详解 01 //创建uilabel 02 UILabel *label1 = [[UILabel alloc] initWithFrame:CGRectMa ...

  7. iOS开发学习48 OC的lambda block

    iOS开发学习48 lambda表达式 一.block 简介 二.block使用 1. block的写法大概就是这样: 2. 带参数的话可以这样写: 3. 如果不写入参,可以写: 4. 当然返回也可以 ...

  8. [IOS] iOS开发学习的站点

    iOS开发学习的好站点,纪录在此. http://www.cocoachina.com/ 适合iOS学习入门 开发者中心的内容适合开发时参考 http://code4app.com/ 大量iOS源码 ...

  9. IOS开发学习周报(二)

    IOS开发学习周报(二) 简介 课程名称 IOS开发实训 任课老师 郑贵锋老师&字节跳动工程师 学号 16340015 专业(方向) 软件工程(计应) 姓名 陈彬彬 Email 9441312 ...

最新文章

  1. javascript笔记:推荐使用“百度统计”并且拷贝百度统计的前端框架
  2. Android多点触控MultiTouch浅析
  3. 专门给大学做宣传视频的公司,一直干了16年,服务110多大学: 专业的力量
  4. shell脚本调试中打开set选项
  5. ajax div 赋值重新渲染_30分钟全面解析图解AJAX原理
  6. mysql 二元分词_MySQL 中文分词原理
  7. 链表中求倒数第几个元素并打印出来
  8. 使用root安装nginx后使用非root运行方法
  9. 基于神经网络和相关性分析的数学建模思路分享
  10. nginx配置文件目录
  11. Java JNI调用kaldi动态链接库(Linux版本)
  12. GD32的flash读保护和写保护
  13. 前端和后端到底有什么区别?待遇和前景如何?
  14. 汽车控制器ECU安全校验算法实现
  15. (二)R语言数据结构——Vector, Matrix, List
  16. [洛谷]P1413 坚果保龄球 (#贪心 -1.18)
  17. Linux集群 安全防御-iptables
  18. 自学java核心技术笔记(康师傅)
  19. 向周鸿祎学习产品和产品推销方法
  20. 2000/XP/2003操作系统常见问题集锦一

热门文章

  1. python笔记:4.2.2对订单明细表的一部分操作
  2. matlab:Lagrange插值函数构造
  3. X公司的流程改造之路
  4. LOL服务器维护打排位算吗,英雄联盟最特殊的五个大区,最后一个等一天都不能开一局排位!...
  5. OllyDBG 入门系列5 消息断点及 RUN 跟踪
  6. 剑指 Offer 49. 丑数
  7. windows操作系统实验之影子账户
  8. 苹果手机屏幕录制在哪_怎么给自己的手机屏幕录制视频
  9. IMU(惯性测量单元)学习
  10. python实现支付宝在线支付功能