本文作者:23 786
本文分类: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苹果开发者大会发布的新开发语言,可运行于macOS和iOS平台,用于搭建基于苹果平台的应用程序。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自动生成的代码文件。如果有不理解的地方请在评论区评论,谢谢!
关于作者23 786
- 好难啊我有点看不懂我也是六年级啊不过我有亲身体会,这种题目要自己做 要不然还是会不懂的要不你去 问问老师父母或同学
- Email: yixuanzhuzhuzhu123@163.com
- 注册于: 2020-04-07 01:52:33
强大的