IOS开发概述

IOS开发的两个方向: 应用 开发和游戏开发

IOS 应用立 足的两 大要素:美观 UI 界面 ( 好的卖相 )和实 用的功

IOS开发需要掌握的内容

–语言基础:OC,C,C++(可选学),基础框架(Foundation)
UI 基础控件(UIWindow、UIScreen、UIButton、UILabel等)、高级控件(IScrollView、ITableView等)
能: 数据存取、动画(调试出来的,移动应用的亮点)、事件、网络、多线程等
游戏 cocos2d cocos2d-x(与 UIKit 开发区别比较大,对游戏不感兴趣可以不学,需要学习C++)

iOS系统架构
iOS 基于 UNIX ,就系统 的稳 定性而言,要比 其他操作系统好很 多, 我们 完全可以相信这个操作系统!
iOS 的系统架构分为四个层次:
可触摸层
媒体服务层
核心服务层
核心操作系统层

iOS系统架构中各层次的功能
可触摸层( Cocoa Touch :为应用程序开发提供各种 有用的框架,并 且大部分均与用户 界面有关,本质上来说它 负责用户在 iOS 设备上的触摸交互 操作
媒体服务层 Media Services 负责提供用于构建应用程序的图形和 声音的 API ,可以在应用程序中使用各种 媒体文件,进行音频与视频的录制, 图形绘制 ,以及制作基础的动画效果
核心服务层( Core Services :这一层提供了访问 CoreOS 层的硬件功能并包含了 Foundation 框架。正因为如此,这一层提供了构建 iOS 应用程序所需的大量基础元件,例如字符串、数组以及其他通用数据类型 。核心服务层可以访问 iOS 的一些服务,比如网络连接、文件访问、数据库、用户定位
核心操作系统层 CoreOS :这一层次包含了 iOS 操作系统的很多基础组件,其中包括:系统内核 、内存管理、文件系统、电源管理、网络组件和设备驱动等,可以直接和硬件设备进 交互

可触摸层 Cocoa Touch
iOS 系统 4 个层中 ,我们主要面向的是 CocoaTouch
Cocoa Touch 层中有个非常重要的 UIKit 框架 ,该框架为应用程序提供了各种可视化组 如下所示

Cocoa Touch 层中的其他框架 ,对于我们应用程序的开发而言,也 是非常 有用的!诸如:访问用户通信录的框架 、获取照片信 息的框架 、负责加速感应器等硬件 支持的框架等等

iOS 框架的使用策略
1. 如果在开发过程中需要用到某些特殊功能时,可以先尝试使用系统自带的框架
2. 这些框架分别来自于 不同的层,对 iOS 系统架构 4 层的理解,可以帮助我们快速找到需要使用的框架
3. 就目前而言,我们只需 对这些框架有个 印象即可,不必每一个都去研究,等用到的时候再去 研究

iOS
系统框架表格



iOS android 系统架构对比
android 是基于 Linux 内核设计的 ,在 Linux 内核上面运行了一个 Java 虚拟机,虚拟机再运行软件。像是在一个系统上面又套了一个系统,所以占内存较大、运行速度略低
iOS 是基于 UNIX ,直接与底层硬件通信。系统底层、应用框架、应用软件都是采用 C/C ++ 或者 Objective-C 写的,所以有很 高的运行效率

IOS应用的开发步骤:
1.新建项目
2. 搭建 UI 界面
3 .  监听 按钮 点击事件
4 .  获取 文本框 内容
5 .  将结果显示在 文本标签

新建项目 1 —— 选择项目模板

新建项目 2 —— 设置项目属性(注意:选择Use Storyboards与不选的区别)

新建项目 3 —— 保存项目

新建项目 4 —— 运行(command+r)

搭建界面 1—— 界面入口

搭建界面 2 —— MainStoryboard.Storyboard

搭建 界面 3 —— 显示对象库

搭建 界面 4 —— 界面搭建

搭建 界面 5 —— 两个细节

监听按钮点击事件 1—— 助理编辑器窗口

监听按钮点击 事件 2—— IBAction 告知 代码发生事件

监听按钮点击 事件 3—— 建立 IBAction

// 点击你好按钮

- (IBAction)tapHelloButton:(id)sender;

监听按钮点击 事件 4—— 准备编写代码

- (IBAction)tapHelloButton:(id)sender

{

}

出现问题:

1.如何获得文本框控件?

2.如何获得文本标签控件?

ViewController.h

#import <UIKit/UIKit.h>
@interface ViewController : UIViewController
// 用户名,Outlet告诉程序可以操作对象
// 定义属性之后,Xcode会自动建立Getter & Setter方法

@property (weak,nonatomic)IBOutlet UITextField *userNameText;
// 消息标签
@property (weak,nonatomic)IBOutlet UILabel *helloLabel;
// 点按Hello按钮
- (IBAction)tapHelloButton:(id)sender;
@end


ViewController.m

#import "ViewController.h"
@interface ViewController ()

@end
@implementation ViewController
- (void)viewDidLoad
{
    [super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
}

- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}


将结果显示在文本标签中

#pragma mark - IBActions

- (IBAction)tapHelloButton:(id)sender

{

// 通常,在一个类的内容,使用自己的属性时,为了提高效率
    // 可以使用成员变量代替属性
    /**
     属性定义的目的,是为了其他的类访问本类时,保证内部数据安全
     */

     //1. 获取文本框内容,并且拼接字符串

     NSString *text = [NSStringstringWithFormat:@"你好 %@",_userNameText.text];

   //2. 将结果显示在文本标签中

   [_helloLabel setText:text];

}

@end


Hello World— 运行效果
发现问题:点击按钮时 键盘没有被关掉

让视图关闭键盘

- (IBAction)tapHelloButton:(id)sender

{

   //1. 获取文本框中的内容

   NSString *text = [NSStringstringWithFormat:@"你好 %@",_userNameText.text];

   //2. 将结果显示在标签中

   [_helloLabel setText:text];

   //3. 让视图关闭键盘

   [self.view endEditing:YES];

}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值