###### tags: `2023 imac iOS Team` # iOS Coding Style Guideline ## import 不同的 import 之間以一行空行分隔 * import 順序 1. Apple 官方 Library/Framework 2. 自己寫的 Library/Framework 3. 第三方套件 ```swift /* import 順序 Example */ // Apple 官方 Library/Framework import UIKit // 自己寫的 Library/Framework import TPKCore // 第三方套件 import RealmSwift ``` ## 命名規則 ### class、struct * 採用「大駝峰命名法」,每個單字的第一個字為大寫,其餘小寫 * 不使用底線字元 ### Extension * 採用「擴充類別名+Extensions」命名 * Example: * UIView+Extensions * String+Extensions * Notification+Extensions ### enum * enum 命名採用大駝峰 * case 命名採用小駝峰 ### UI 元件 * 請以「元件名稱」+「變數名稱」命名 * Example(登入按鈕): * btnLogin | UI 元件名稱 | 縮寫 | UI 元件名稱 | 縮寫 | |--------------------|:----:|------------------------|:----:| | UILabel | lb | UIStepper | stp | | UIButton | btn | UIPasteControl | pstc | | UITextField | txf | UIColorWell | cw | | UITextView | txv | UIImage | img | | UIPageControl | pc | UIImageView | imgv | | UISegmentControl | segc | UITableView | tbv | | UIPickerView | pkv | UICollectionView | cv | | UIDatePicker | dpk | UIScrollView | scv | | UISlider | sld | UIStackView | stkv | | UISwitch | sw | UIView | v | | UIProgressView | pv | UIViewController | vc | | WKWebView | wbv | UINavigationController | navc | | UISearchBar | sb | UIAlertController | altc | | UITabBarController | tbc | UICollectionViewCell | cvCell | | UITableViewCell | tbvCell | ### Program Mark : ```swift= // MARK: - IBOutlet // MARK: - Property // MARK: - LifeCycle // MARK: - UI Settings // MARK: - IBAction // MARK: - Function // MARK: - Extensions ``` ### func 寫法: * 大括號與程式碼之間不可以空格 * 當 Function 超過 3 個參數 or 超過 100 字元,將每個參數定義在獨立的一行。 Example: ```swift= func addSoapRequest(strURL: String, strMessage: String, strAction: String, uTag: UInt) { } ```
×
Sign in
Email
Password
Forgot password
or
Sign in via Google
Sign in via Facebook
Sign in via X(Twitter)
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
Continue with a different method
New to HackMD?
Sign up
By signing in, you agree to our
terms of service
.