美文网首页
Swift自定义log以及其它

Swift自定义log以及其它

作者: 莫寂岚 | 来源:发表于2018-02-28 15:45 被阅读24次

一、自定义Log

在Swift中,我们也需要如OC一样,对log进行自定义。下面是一个我自定义的log,示例如下:

func ABYPrint<N>(message: N, fileName: String = #file, methodName: String = #function, lineNumber: Int = #line){
    #if DEBUGSWIFT
        let file = (fileName as NSString).lastPathComponent.replacingOccurrences(of: ".Swift", with: "")
    print("\(file):\(lineNumber)行,打印信息:\n\(message)");
    #endif
}

swift自定义log的关键点在于,#if DEBUGSWIFT 这行代码上。
如何在Swift中添加一个宏定义呢?
TARGETS -> build Setting -> 搜索“flag”,在Activie Complilation Conditions中,Debug的选项卡里添加DEBUGSWIFT, 即可。

,

在xcoed 9, swift 4中,直接使用DEBUG也是可以的#if DEBUG
但我为了和oc区分开来,添加了个人的标记。

二、UITableView的一些注意事项

1、行高

行高这玩意,一言难尽。
一开始以为直接给cell一个frame即可。但发现不生效。用autolayout又发现这个自动布局是根据子视图的约束自动计算高度,按理来说,就可以了。
但偏偏页面比较简单,需要直接设置。
最后......
在代理方法中直接设置就好了......

2、footer上的button

用自动布局写了footer,上面有个button,点击事件不生效,但是,设置的footer的行高,就直接OK了......

三、 自动布局与ScrollView

func setScrollView() -> Void {
        scrollView.backgroundColor = ABYGlobalBackGroundColor()
        view.addSubview(scrollView)
        scrollView.snp.makeConstraints { (make) in
            make.top.left.right.bottom.equalToSuperview()
        }
        let containerView: UIView = UIView.init()
        scrollView.addSubview(containerView)
        containerView.snp.makeConstraints { (make) in
            make.top.left.bottom.right.equalTo(scrollView).inset(UIEdgeInsets.zero)
            make.width.equalToSuperview()
        }
        for index in 1...10 {
            let lable = UILabel.init()
            lable.textAlignment = .center
            lable.text = "第\(index)个视图"
            containerView.addSubview(lable)
            lable.snp.makeConstraints({ (make) in
                make.left.right.equalToSuperview()
                make.height.equalTo(scrollView.snp.height)
                if let last = lastView {
                    make.top.equalTo(last.snp.bottom)
                } else {
                    make.top.equalTo(0)
                }

            })
            lastView = lable
        }
        containerView.snp.makeConstraints { (make) in
            if let last = lastView {
                make.bottom.equalTo(last.snp.bottom)
            }
        }
    }

相关文章

  • Swift自定义log以及其它

    一、自定义Log 在Swift中,我们也需要如OC一样,对log进行自定义。下面是一个我自定义的log,示例如下:...

  • Swift中自定义Log

    Swift中自定义Log Swift中自定义Log:依次是类名.方法名.行号.内容. func LTLog(fun...

  • iOS 自定义Log

    swift自定义log一般写在AppDelegate里:AppDelegate.swift:application...

  • SWIFT 的一些小知识点

    1、NSLog 在 oc 中使用NSLog,在 swift 中为 print 1.1、自定义 Log 函数 1.2...

  • swift中自定义Log

    swift中自定义log输出日志,swift支持全局函数,不写在任何类中的方法可以当做全局方法使用。这里写在了Ap...

  • Swift 基础(1) -- 自定义LOG

    Swift 3.0 自定义LOG. 知识点一 :系统自带常量(1) #line : 当前行号.(2) #file...

  • Swift 自定义Log

    Swift中打印不像OC那样每次打印系统会自己打印出时间和所在类名,所以在swift中要自己封装.自定义Log要用...

  • swift 自定义Log

    ——> 代表传递过来什么类型,就是什么类型的数据 在swift中,没有#define, 需要在 targe...

  • swift自定义log

    目前SFJLog方法APPDelegate里面,后期看情况而定。 需要进行一系列的配置Build Setting-...

  • Swift 自定义 log

    获取打印所在文件 let file = (__FILE__ as NSString).lastPathCompon...

网友评论

      本文标题:Swift自定义log以及其它

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