版本:
swift 4,ios 11.2,smulater: iPhone 7
在創建project後,開始應用的製作
1.改變應用的背景顏色
2.加入素材
3.添加到應用
4.標題規格
5.添加UIlable
6.添加Textfield
7.添加Button
8.再添加一個UIlabel
9.配對輸入框
10.配對狀態欄
11.配對執行按鈕
12.隱藏狀態欄文字
13.設置鍵盤
14.代碼編寫
// ViewController.swift
// PrimeNumber
//
// Created by lin on 2018/3/21.
// Copyright © 2018年 lin. All rights reserved.
//
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var inputTextField: UITextField!
@IBOutlet weak var resultLabel: UILabel!
// status bar -> white
override var preferredStatusBarStyle: UIStatusBarStyle{
return .lightContent
}
@IBAction func doThePrimeTest(_ sender: UIButton) {
//1.Take out the number string from the inputTextField
if let inputText = inputTextField.text{
//2.convert the number string to Int
if let inputNumber = Int(inputText){
//3.Useing the checkPrime function to get result
//4.Using the resultLabel to show result
/*
resultLabel.text = checkPrime(withNumber: inputNumber)
resultLbbel.isHidden = false
*/
//closure
/*
checkPrime(withnumber: inputNumber, andCompletionHandler: {
(result:String) in
self.resultLabel.text = result
self.resultLabel.isHidden = false
})
*/
//omit
checkPrime(withnumber: inputNumber){
self.resultLabel.text = $0
self.resultLabel.isHidden = false
}
}
}
inputTextField.text = ""
}
override func viewDidLoad() {
super.viewDidLoad()
//push the keyboard up
inputTextField.becomeFirstResponder()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
func checkPrime(withNumber testNumber:Int) -> String{
var isPrime:Bool? = true
if testNumber <= 0{
isPrime = nil
}else if testNumber == 1{
isPrime = false
}else{
for i in 2..<testNumber{
if testNumber % i == 0{
//input number is not prime
isPrime = false
break
}
}
}
if isPrime == true{
return "\(testNumber) is prime"
}else if isPrime == false{
return "\(testNumber) is not prime"
}else{
return "Please enter a number greater than 0"
}
}
func checkPrime(withnumber number:Int, andCompletionHandler handler:(String) -> ()){
handler(checkPrime(withNumber: number))
}
}
15.判斷1
16.判斷2
17.判斷3
18.判斷4