美文网首页
Swift代码规范

Swift代码规范

作者: Eyes_cc | 来源:发表于2019-10-30 14:47 被阅读0次
import UIKit
// MARK: 生意号
class BusinessNoController: BaseController {

    // MARK: Parameter_ComeIn
    // MARK: Parameter
    // MARK: Model
    // MARK: Properties
    
    // MARK: LifeCycle
    override func viewDidLoad() {
        super.viewDidLoad()
        
        self.navigationItem.title = "生意号"
        // AddView
        // Layout
        self.setUI()
        // AddRequest
        self.request_init()
        // AddEvent
        self.allread_Event()
        // NotificationCenter
    }
    // MARK: Layout
    private func setUI() {}
    // MARK: Notification
    @objc func LaunchImgEvent(notification: NSNotification) {
        let noti = notification.object as! [String]
        if noti[0] == "" { }
        else {
        }
        
    }
    // MARK: Network
    private func request_init() {}
    private func request_AccountList() {}
    // MARK: Event  // 事件都带上_Event、
    @objc private func allread_Event() {}

    
}
// MARK: Extension
extension BusinessNoController: {
    // MARK: UITableViewDelegate, UITableViewDataSource
    // - DZNEmptyDataSetSource, DZNEmptyDataSetDelegate
    // - UITableViewDelegate, UITableViewDataSource
    // header
    // footer
    // selected
}

// 记账本Cell
class ChargeAccountTableViewCell: UITableViewCell {

    // MARK: Config
    var topCorners = false {
        didSet {
            self.layoutSubviews()
        }
    }
    var singleAccountModel: SingleAccountModel? {
        didSet {
            // 描述
            des.text = singleAccountModel?.remark
            // 日期
            date.text = singleAccountModel?.create_time
            // 1进账,2使用
            singleAccountModel?.in_out == 1 ? (money.textColor = UIColor(hexString: "#FF7531")):(money.textColor = UIColor(hexString: "#2573FB"))
            money.text = singleAccountModel?.amount            
        }
    }
    
    override func layoutSubviews() {
        super.layoutSubviews()
        if topCorners == true {
            bgView.roundCorners_CN([.layerMinXMinYCorner, .layerMaxXMinYCorner], cornersForEarly: [.topLeft, .topRight], radii: 8)
        }
        
    }
    
}

model的规范
// 单条模块
class SingleModuleModel: Mappable {
    
    var module_name     = ""   // 模块名字
    var module_icon_url = ""   // 模块图标
    var group_id        = 0    // 模块id
    var time            = ""   // 模块添加时间
    var is_read         = 0    // 是否已读,1是0否
    // 新闻列表
    var newListModel  = [SingleNewModel]()

    required init?(map: Map) { }

    func mapping(map: Map) {
        id   <- map["id"]
        name <- map["name"]
    }
}

符号对齐
// Config…

声明属性时,输入属性的话加后缀 _Input
作为附属属性时,如 _Line
private let account_Input: UITextField = {
        let textField                      = UITextField()
        textField.font                     = UIFont.adjustFontSize(ofSize: 14)
        textField.placeholder              = "请输入手机号"
        textField.clearButtonMode          = .whileEditing
        textField.contentVerticalAlignment = .center
        textField.keyboardType             = .numberPad
        textField.textColor                = UIColor(hexString: "#333333")
        return textField
    }()
    private let account_Line: UIView = {
        let vie             = UIView()
        vie.backgroundColor = Color_lineColor
        return vie
    }()
// 多个括号加注释是谁的结尾
                        }
                    } // if end
                } // snp end
            } // for end
            
        }
    }
private let shopName: UILabel = {
    let label = UILabel()
    label.textColor = Color_TitleColor
    label.text = UserDefaultsManager_CN.queryData(Defaults_User_ShopName)
    label.textAlignment = .center
    label.font = UIFont.adjustBoldFontSize(ofSize: 23)
    return label
}()
private let bgImageV = UIImageView(image: UIImage(named: "ShopCode_Sucai"))
private let save: UIButton = {
    let btn = UIButton()
    btn.setTitle("保存至相册", for: .normal)
    btn.setTitleColor(UIColor.white, for: UIControl.State.normal)
    btn.titleLabel?.font = UIFont.adjustFontSize(ofSize: 16)
    return btn
}()


extension的规范
// MARK: 设置颜色
public extension UIColor {
    
    /*
    USE  :设置RGB颜色
    */
    static func adjustColorRGB_CN(_ r: CGFloat, _ g: CGFloat, _ b: CGFloat, _ a: CGFloat) -> UIColor {
        return UIColor(red: r / 255.0, green: g / 255.0, blue: b / 255.0, alpha: a)
    }

}
public extension UIView {
    /*
    USE  :UIView及其子类,添加点击手势 */
    func setTapGesture_CN(target: AnyObject, action: Selector) {
        self.isUserInteractionEnabled = true
        let tapGesture                = UITapGestureRecognizer(target : target, action : action)
        self.addGestureRecognizer(tapGesture)
    }
    
    /*
    USE  :UIView及其子类,设置部分圆角
    Tips :iOS11以后使用maskedCorners进行圆角设置,之前使用使用贝塞尔曲线画圆角。
    Parameters:
        - corners: 需要实现为圆角的角
        - radii  : 圆角半径
        - CACornerMask: layerMaxXMaxYCorner - 右下角; layerMaxXMinYCorner - 右上角;
                        layerMinXMaxYCorner - 左下角; layerMinXMinYCorner - 左上角;
        - UIRectCorner: bottomRight - 右下角; topRight    - 右上角;
                        bottomLeft  - 左下角; topLeft     - 左上角; */
    func roundCorners_CN(_ cornersForIOS11: CACornerMask?, cornersForEarly: UIRectCorner?, radii: Double) {
        if #available(iOS 11.0, *) {
            self.layer.cornerRadius  = CGFloat(radii)
            self.layer.maskedCorners = cornersForIOS11!
            self.clipsToBounds       = true
        } else {
            // Fallback on earlier versions,
            // 在视图出现后进行渲染:在viewDidAppear()或viewDidLayoutSubviews()方法中使用,需要在layoutsubviews 中使用
            let path        = UIBezierPath(roundedRect : self.bounds, byRoundingCorners : cornersForEarly!, cornerRadii : CGSize(width : radii, height : radii))
            let maskLayer   = CAShapeLayer()
            maskLayer.frame = self.bounds
            maskLayer.path  = path.cgPath
            self.layer.mask = maskLayer
        }
    }



BaseController {

    // MARK: Parameter_ComeIn
    // MARK: Parameter
    // MARK: Model
    // MARK: Properties
    
    // MARK: LifeCycle
    override func loadView() {
        super.loadView()
        
        self.navigationItem.title = "多彩开始"
        self.navigationItem.rightBarButtonItem = UIBarButtonItem(image: UIImage(named: "Message_Home"), style: .plain, target: self, action: #selector(self.lookMessage_Event))
    }
    override func viewDidLoad() {
        super.viewDidLoad()
        
    }
    
   // MARK: Event
   @objc private func lookMessage_Event() {
        
   }

}
class xxx: UITableViewCell {

    // MARK: Properties
    
    // MARK: LifeCycle
    override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
        super.init(style: style, reuseIdentifier: reuseIdentifier)
        
        // AddView
        // Layout
        
    }
    // MARK: Layout
    private func setUI() {
        
    }
    
    required init?(coder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }
    
}


import Foundation
import ObjectMapper

// 所有消息
struct SmartHelperAllMessageModel: Mappable {
    
    var status         = 0
    var msg            = ""
    var customer_hello = ""                            // 客服问候语
    var fixed_problems = [SingleFixed_problemsModel]() // 固定问题列表
    var chats          = [SingleChatsModel]()          // 用户留言 后台回复记录,返回最近的20条,之前的记录不再返回
    
    init?(map: Map) { }

    mutating func mapping(map: Map) {
        status         <- map["status"]
        msg            <- map["msg"]
        customer_hello <- map["data.customer_hello"]
        fixed_problems <- map["data.fixed_problems"]
        chats          <- map["data.chats"]
    }
}

struct SingleFixed_problemsModel: Mappable {
    
    var id           :Int!
    var fixed_problem = ""
    var answer        = ""
    
    init?(map: Map) { }

    mutating func mapping(map: Map) {
        id            <- map["id"]
        fixed_problem <- map["fixed_problem"]
        answer        <- map["answer"]
    }
}
struct SingleChatsModel: Mappable {
    
    var id         :Int!
    var from_type  :Int!
    var content     = ""
    var create_time = ""
    
    init?(map: Map) { }

    mutating func mapping(map: Map) {
        id          <- map["id"]
        from_type   <- map["from_type"]
        content     <- map["content"]
        create_time <- map["create_time"]
    }
}

相关文章

  • Raywenderlich 的 Swift 代码规范

    Raywenderlich 的 Swift 代码规范

  • Swift代码规范

    团队的Swift代码规范,参考Swift Style Guide和Swift 4.0 编码规范,并根据团队实际需要...

  • 常用技术网址

    代码规范: 代码规范 网站: CocoaChina Apple文档 swift.gg code4app stack...

  • Swift 代码规范中文-Swift Style Guide

    Swift Style Guide Swift代码规范指南 Make sure to read Apple's A...

  • 一篇详细的swift代码规范

    【转载】转自卓大大翻译谷歌的swift代码规范 [译] 官方 Swift API 设计规范 官方地址:API de...

  • swift代码规范

    代码规范整理 安装swifLint http://www.cocoachina.com/ios/20170602/...

  • Swift代码规范

    当你试图解决一个别人代码中的问题时,难得不是怎么解决这个问题,而是先得找到、读懂这段代码。 推荐文档:https:...

  • Swift代码规范

    推荐个规范代码的库SwiftLint, 有兴趣的同学可瞧瞧如何。相信我,关于代码规范,你需要仔细看看这篇文章最详尽...

  • Swift代码规范

  • Swift 代码规范

    目录 源文件基础知识文件名文件编码空白字符特殊转义序列不可见的字符和修饰符字符串字面量不可见的字符和修饰符 源文件...

网友评论

      本文标题:Swift代码规范

      本文链接:https://www.haomeiwen.com/subject/urbovctx.html