“`html

Swift 2025 – 完整教學:如何建立一個計步器App 🏃‍♂️

在本文中,我們將使用Swift來建立一個計步器App,讓你可以記錄你的步數,並且查看你的步數統計。這篇文章將涵蓋最新的語法與最佳實踐,適合2025年的開發需求。

建立一個新的Xcode專案

首先,我們需要建立一個新的Xcode專案。打開Xcode,然後選擇Create a new Xcode project,接著選擇Single View App。輸入專案名稱,選擇Swift作為開發語言,最後按下Next按鈕,完成專案的建立。

建立UI介面

接下來,我們需要建立UI介面。在Xcode中,打開Main.storyboard,然後拖拉以下元件到畫面上:

– 一個Label:用於顯示步數。
– 一個Button:用於開始或重置計步。
– 一個Progress View:顯示步數進度。
– 一個Table View:顯示過去的步數統計。
– 一個Bar Button Item:用於導航或其他功能。

確保設定它們的位置和大小,以便於使用者操作。

設定ViewController

接著,我們需要設定ViewController。打開ViewController.swift,並添加以下程式碼來設定UI元件的OutletAction

“`swift
import UIKit
import CoreMotion

class ViewController: UIViewController {
@IBOutlet weak var label: UILabel!
@IBOutlet weak var button: UIButton!
@IBOutlet weak var progressView: UIProgressView!
@IBOutlet weak var tableView: UITableView!

let pedometer = CMPedometer()

override func viewDidLoad() {
super.viewDidLoad()
// 初始步數設定
label.text = “0”
progressView.progress = 0.0
}

@IBAction func startTracking(_ sender: UIButton) {
startPedometerUpdates()
}
}
“`

實作步數計算功能

現在,我們需要實作步數計算功能。在startPedometerUpdates方法中加入以下程式碼:

“`swift
func startPedometerUpdates() {
guard CMPedometer.isStepCountingAvailable() else { return }

pedometer.startUpdates(from: Date()) { (data, error) in
guard let data = data, error == nil else { return }
DispatchQueue.main.async {
self.label.text = “\(data.numberOfSteps)”
}
}
}
“`

這段程式碼會使用CoreMotion來取得步數資料,並且將步數顯示在Label上。

實作步數統計功能

最後,我們需要實作步數統計功能。在startPedometerUpdates方法中,添加以下程式碼來查詢步數統計:

“`swift
func queryPedometerData() {
let startDate = Calendar.current.startOfDay(for: Date())
pedometer.queryPedometerData(from: startDate, to: Date()) { (data, error) in
guard let data = data, error == nil else { return }
DispatchQueue.main.async {
let totalSteps = data.numberOfSteps.intValue
self.progressView.progress = Float(totalSteps) / 1000 // 假設1000步為滿格
self.tableView.reloadData()
}
}
}
“`

這段程式碼將會查詢當天的步數資料,並更新Progress ViewTable View

完成App

現在,我們的計步器App已經完成,能夠記錄步數並查看步數統計。你可以根據需求進一步美化UI或增加功能。

Q&A(常見問題解答)

1. 如何在計步器中重置步數?

你可以在按鈕的事件方法中重置步數顯示和進度條,例如:將

2. 為什麼我的App無法獲取步數數據?

請確保你的設備支持步數計算,並且在設定中允許App訪問運動與健身資料。

3. 如何優化步數統計功能?

你可以考慮增加數據持久化,例如使用來保存歷史步數資料。

Swift - 計步器 🏃‍♂️ 建立一個計步器App
“`

Categorized in:

Tagged in:

,