Swift初探

1.自定义打印语句
2.代码书写

  • 自定义打印语句
    为什么要自定义打印语句呢?因为Swift太简单,连打印信息都只有一句话,一点提示都没有,根本找不到这个打印是从哪里来的,所有我们需要自定义打印语句,比较一下


    打印png

    可以看到自定义的打印语句可以看到很多信息

而且在实际开发中,我们还应该做到当程序在debug环境下打印,在release环境下不打印,这才是自定义打印的本质所在。首先需要配置相关信息

配置.png

Swift中没有宏定义, 在Swift中有全局函数的概念,就是在任意位置让一个函数写在大{}外面,那么在整个工程中的任意地方的都可以调用该函数。所有我们应该将打印语句写成全局函数,而且最好写在AppDelegate中

func LXYLog<T>(message : T, file : String = __FILE__, funcName : String = __FUNCTION__, lineNum : Int = __LINE__) {
    
    #if DEBUG
    
    let fileName = (file as NSString).lastPathComponent
    
    print("\(fileName):[\(funcName)](\(lineNum))-\(message)")
    
    #endif
    
}

  • Swift书写
    为方便查看,使代码更美观一般都可以这样抽取,将相似功能代码放一块
import UIKit

class ViewController: UIViewController {

    lazy var tableView : UITableView = UITableView()
    
    override func viewDidLoad() {
        
        super.viewDidLoad()
        view.addSubview(tableView)
        
        setupUI()

    }
}

// MARK:- 设置UI相关
extension ViewController {
    func setupUI() {
        tableView.frame = view.bounds
        tableView.dataSource = self
        tableView.delegate = self;
    }
}

// MARK:- 数据源和代理方法
extension ViewController : UITableViewDataSource, UITableViewDelegate {
    
    func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return 20;
    }
    
    func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
        let cellId = "cellID"
        var cell = tableView.dequeueReusableCellWithIdentifier(cellId)
        if cell == nil {
            cell = UITableViewCell(style: .Default, reuseIdentifier: cellId)
        }
        
        cell?.textLabel?.text = "测试数据\(indexPath.row)";
        
        return cell!
    }
    
    func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
        print("点击了:\(indexPath.row)")
    }
}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,061评论 25 709
  • Swift简介 一、Swift常用语法 Swift是Apple去年推出的一门新的语言,基于C和Objective-...
    GitHubPorter阅读 9,082评论 1 12
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,565评论 4 61
  • 单例模式的定义:1.类只能实例化一次,2自行创建实例,3必须为整个系统提供这个实例。 单例的结构图: 单例模式的优...
    姬94阅读 2,744评论 0 0
  • 第一,时间规划不合理,考试难度以及不足,对时间的把握比较差,没有总体的进度表,看东西很随机,开始时没有着急,觉得...
    帅帅宝贝阅读 1,499评论 0 0

友情链接更多精彩内容