IOS开发概述

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

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

IOS开发需要掌握的内容

–语言基础:OC,C,C++(可选学),基础框架(Foundation)
UI基础控件(UIWindow、UIScreen、UIButton、UILabel等)、高级控件(IScrollView、ITableView等)
能:数据存取、动画(调试出来的,移动应用的亮点)、事件、网络、多线程等
游戏cocos2dcocos2d-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
CocoaTouch层中有个非常重要的UIKit框架,该框架为应用程序提供了各种可视化组如下所示

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

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

iOS
系统框架表格



iOSandroid系统架构对比
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];

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值