OC - 应用实例

OC - 应用实例 首页 / iOS入门教程 / OC - 应用实例

创建应用

现在,无涯教程将创建一个简单的单视图应用程序(空白应用程序),该应用程序将在iOS模拟器上运行。

步骤如下。

第1步 - 打开Xcode,然后选择创建新的Xcode项目。

Xcode Welcome Page

第2步 - 选择Single View Application。

Create Project

第3步 - 输入产品名称,即应用程序名称,组织名称,然后输入公司标识符。

New Project Create Options

第4步 - 确保已选择使用自动引用计数,以便在超出范围后自动释放分配的资源。点击下一步。

第5步 - 选择项目目录,然后选择创建。

Create Project Select Folder


第6步 - 您将看到如下屏幕-

Xcode Project Page

在上面的屏幕中,您将能够选择支持的方向,构建和发布设置。有一个现场部署目标,即无涯教程要支持的设备版本,请选择4.3,这是现在允许的最低部署目标。

第7步 - 现在,在运行按钮附近的下拉列表中选择iPhone模拟器,然后选择"Run"。

第8步 - 就是这样;您已经成功运行了第一个应用程序。您将获得如下输出:

现在,让无涯教程更改background color,只是从界面构建器入手。选择ViewController.xib。选择右侧的背景选项,更改颜色并运行。

Interface Builder

在以上项目中,默认情况下,部署目标将设置为iOS 6.0并启用自动布局,为确保无涯教程的应用程序可以在iOS 4.3及更高版本的设备上运行,无涯教程已经在创建此应用程序开始时修改了部署目标,但并未禁用自动布局。

要禁用自动布局,无涯教程需要在每个笔尖的文件检查器中取消选择自动布局复选框,下图给出了Xcode项目IDE的各个部分(Apple Xcode 4用户文档)。

Xcode 4 Workspace

如上所示,可以在检查器选择器栏中找到文件检查器,并且可以在此处取消选中自动布局,当您只想定位iOS 6设备时,可以使用自动布局。现在,让无涯教程坚持将iOS 4.3作为部署目标。

应用程序代码

您会发现将为您的应用程序生成五个不同的文件。它们列出如下-

  • AppDelegate.h
  • AppDelegate.m
  • ViewController.h
  • ViewController.m
  • ViewController.xib

AppDelegate.h

//提供所有 UI 相关项的头文件。
#import <UIKit/UIKit.h> 

//前向声明(在将来定义(defined)/导入(imported)类时使用)
@class ViewController;  

//Appdelegate 接口
@interface AppDelegate : UIResponder <UIApplicationDelegate>

//属性窗口
@property (strong nonatomic) UIWindow *window; 

//属性视图控制器
@property (strong nonatomic) ViewController *viewController;
//这标志着界面的结束
@end  

代码中的重要项目-

  • AppDelegate继承自处理iOS事件的UIResponder。

  • 实现UIApplicationDelegate的委托方法,该方法提供关键的应用程序事件,如完成启动,即将终止等。

  • UIWindow对象,用于管理和协调iOS设备屏幕上的各种视图。就像加载所有其他视图的基本视图一样。通常,一个应用程序只有一个窗口。

  • UIViewController处理屏幕流。

AppDelegate.m

//导入类 Appdelegate 的接口
import "AppDelegate.h" 

//导入要加载的ViewController
#import "ViewController.h" 

//类定义从这里开始
@implementation AppDelegate 


//提示我们应用程序启动成功的方法
- (BOOL)application:(UIApplication *)application 
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
   self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
   
   //应用程序启动后自定义的覆盖。
   self.viewController = [[ViewController alloc]
   initWithNibName:@"ViewController" bundle:nil];
   self.window.rootViewController = self.viewController;
   [self.window makeKeyAndVisible];
   return YES;
}

- (void)applicationWillResignActive:(UIApplication *)application {
   /* 使用此方法释放共享资源,保存用户数据,
      使定时器失效,并存储足够的应用程序状态信息
      将您的应用程序恢复到当前状态,以防万一
      后来终止。如果您的应用程序支持后台
      执行,这个方法被调用而不是
      applicationWillTerminate:当用户退出时。*/
}

- (void)applicationWillEnterForeground:(UIApplication *)application {
   /* 作为从后台到后台转换的一部分调用
      非活动状态。在这里您可以撤消对
      进入后台。*/
}

- (void)applicationDidBecomeActive:(UIApplication *)application {
   /* 重新启动任何暂停(或尚未开始)的任务,同时
      该应用程序处于非活动状态。如果该应用程序以前在
      背景,可选地刷新用户界面。.*/
}

- (void)applicationWillTerminate:(UIApplication *)application {
   /* 当应用程序即将终止时调用。保存数据,如果
      合适的。另请参阅 applicationDidEnterBackground:。 */
}

- (void)applicationWillTerminate:(UIApplication *)application {
   /* 当应用程序即将终止时调用。如果合适,保存数据。
      另请参阅 applicationDidEnterBackground:。 */
}
@end

代码中的重要项目-

  • UIApplication委托在此处定义。上面定义的所有方法都是UI应用程序委托,并且不包含用户定义的方法。

  • 已分配UIWindow对象以保存分配的应用程序。

  • UIViewController被分配为窗口的初始视图控制器。

  • 要使窗口可见,将调用makeKeyAndVisible方法。

ViewController.h

#import <UIKit/UIKit.h> 

//类 ViewController 的接口
@interface ViewController : UIViewController 

@end

代码中的重要项目-

  • ViewController类继承了UIViewController,后者为iOS应用程序提供了基本的视图管理模型。

ViewController.m

#import "ViewController.h"

//Category, ViewController 类的扩展
@interface ViewController ()

@end

@implementation ViewController  

- (void)viewDidLoad {
   [super viewDidLoad];
   //在加载视图后进行任何额外的设置,通常是从一个 nib 开始。
}

- (void)didReceiveMemoryWarning {
   [super didReceiveMemoryWarning];
   //处置任何可以重新创建的资源。
}
@end

代码中的重要项目-

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

深入浅出gRPC -〔李林锋〕

从0开始学架构 -〔李运华〕

软件工程之美 -〔宝玉〕

黄勇的OKR实战笔记 -〔黄勇〕

MongoDB高手课 -〔唐建法(TJ)〕

后端技术面试 38 讲 -〔李智慧〕

说透敏捷 -〔宋宁〕

Kubernetes入门实战课 -〔罗剑锋〕

结构学习力 -〔李忠秋〕

好记忆不如烂笔头。留下您的足迹吧 :)