iOS开发从0开始

Hello, 欢迎登录 or 注册!

/ 1评 / 0

本文作者:  本文分类:Apple开发  浏览:1534
阅读时间:3287字, 约3.5-5.5分钟

作者提醒:请注意,本文写作时间为 2020 年,作者经验尚不成熟,会含有非常多错误或主观的内容,本系列内容留作纪念,基本无参考价值。

本篇文章将从0开始为大家讲解如何用swift从0开始开发一个iOS应用。

一、编程语言

开发iOS应用只能用两种语言:Objective-C和Swift。

所以要想开发一个iOS应用,必须要用苹果的Mac系统。对于Mac电脑,可以直接App Store安装Xcode应用;对于Windows PC,请安装黑苹果(Hackintosh)以后再安装Xcode。详细的教程可以见https://blog.csdn.net/EricNTH/article/details/104669604

Objective-C (OC)

// OC 中写一个类需要两个文件,一个头文件,一个源文件

// ViewController.h
#import <UIKit/UIKit.h>

@interface ViewController : UIViewController
{
@protected
    NSString *_helloWorld;
}

@property(atomic, readonly) NSString *helloWorld;

- (void)printString;

@end

// ViewController.m

#import "ViewController.h"

@implementation ViewController

@synthesize helloWorld = _helloWorld;

// ...

- (void)printString {
    _helloWorld = "Hello, World!"
    NSLog([self helloWorld]);
}

@end

是不是看到这段代码感觉跟C很不一样?在实际开发过程中,Objective-C虽然是C的超集,但是的确与C的语法有很多不一样的地方。在开发的过程中,我们还是从Swift入手吧。

与以上代码等价的Swift

// Swift
import UIKit

class ViewController: UIViewController {
    private(set) var helloWorld = "Hello, World!"
    func printString() {
        print(self.helloWorld)
    }
}

Swift,苹果于2014年WWDC苹果开发者大会发布的新开发语言,可运行于macOSiOS平台,用于搭建基于苹果平台的应用程序。Swift是一款易学易用的编程语言,设计以安全为出发点。

以上是百度百科的介绍,但是简单来说——Swift来源于Objective-C,但是与Objective-C的语法完全不同,要简单的许多。

重点:https://www.runoob.com/swift/swift-tutorial.html 这是swift的教程。如果没有学过任何编程语言的建议先看一下。学过C和C++的,由于还是有一点语法不一样的,也建议快速浏览一下。

在本系列的博客里,我不会详细讲解Swift的语法,因为实在太简单了(hhh)。其实和C与C++的语法80%都是一样的,但是个人认为比C和C++功能要多,还要简单。

二、开发环境

之前也有提到过,就是苹果的IDE——Xcode。请在App Store安装最新的版本(到目前为止最新的版本为Xcode 11.4,支持开发macOS 10.15.4,iOS 13.4等系统的应用)。

Xcode操作也非常简单,就不赘述如何使用了。如果有问题,可以到苹果开发者网站developer.apple.com 里去寻找有关的文档。

三、使用Xcode新建一个项目

在“Welcome to Xcode”界面出现以后,点击“Create a new Xcode project”。

Welcome to Xcode选择iOS Single View App。

Single View App点按Next,按下图填写。

选择Swift,Storyboard,剩下的三个全部不勾选。Product Name和Organization Name/Identifier全部自己填。接着选择自己要保存Xcode Project的位置,接着点击Next,就新建了一个Xcode工程。

四、代码详解

在新建工程以后,会自动生成几个源代码。我们来解析一下这些代码。

AppDelegate.swift,SceneDelegate.Swift

// AppDelegate.swift
import UIKit

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
    ....
}

// SceneDelegate.swift
import UIKit

class SceneDelegate: UIResponder, UIWindowSceneDelegate {

    var window: UIWindow?

    ....

}

AppDelegate的意思就是“App委托”。这里面定义了一个AppDelegate的类。里面的内容不用弄懂,我们开发的时候也不用动这个文件。这个文件其实是用来处理应用中的各种事件的,如刚启动时要做什么,应用即将关闭的时候要做什么,都可以在这个文件里写,但我们现在不需要。SceneDelegate也一样,不用管它。

ViewController.swift(重点!!!)

import UIKit

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view.
    }

}

定义了一个类 ViewController(视图控制器)。系统加载应用的时候就会在屏幕上加载一个这样的视图控制器。

import UIKit //这行代码是引入了iOS系统的UIKit库

class ViewController: UIViewController { //新定义一个基于iOS系统库UIViewController的类。

    // 之前提到过,ViewController类是基于系统UIViewController的。在以后iOS开发的过程中,每次加载这个视图控制器的时候,总要初始化一些东西。那么我们就要重写(override)一下UIViewController的viewDidLoad()函数。viewDidLoad()就是系统加载完视图控制器以后的初始化函数,每当系统加载完视图控制器,viewDidLoad()函数立刻就会运行。
    override func viewDidLoad() {
// func代表“函数”。

        super.viewDidLoad()

        //我们还没有完全重写viewDidLoad()的能力,所以我们还是要在系统运行完系统自带的viewDidLoad()以后再加上自己的viewDidLoad(),所以有这么一行:super.viewDidLoad()。
        //这里的super就是系统的UIViewController,因为ViewController是基于UIViewController的,ViewController类是儿子,UIViewController是爸爸。super的含义就相当于爸爸,也就是“UIViewController”。要访问爸爸的viewDidLoad()函数,就必须要加上super.

    }

}

Main.Storyboard(重点!!!)

打开Storyboard文件,发现有一个手机屏幕会出现在上面。这个手机屏幕就是一个ViewController。

呵呵,看到这玩意儿就很开心吧。在标题栏里有一个+按钮,点击以后看到里面有很多控件。往空白的storyboard上面拖。就像是在word排版一样,运行的时候你排版的这些控件就会显示出来。当然,iOS开发不会这么简单。

今天的iOS开发教程就到这里了,我们分析了Xcode自动生成的代码文件。如果有不理解的地方请在评论区评论,谢谢!

关于作者

  1. 23771说道:

    强大的

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注