Tips

不自动锁屏

[UIApplication sharedApplication].idleTimerDisabled=YES

自动锁屏

[UIApplication sharedApplication].idleTimerDisabled=NO

清除一个项目的编译缓存

alt+command+shift+K

Swift运行时根据类名实例化对象

if let dic = Bundle.main.infoDictionary, let nameSpace = dic["CFBundleExecutable"] as? String {
        let clsName = nameSpace + "." + "ViewController"
         if let cls = NSClassFromString(clsName), let vcCls = cls as? UIViewController.Type {
              let c = vcCls.init()
             self.navigationController?.pushViewController(c, animated: true)
        }
 }

lldb(gdb)常用的控制台调试命令?

1). p 输出基本类型。是打印命令,需要指定类型。是print的简写
    p (int)[[[self view] subviews] count]
2). po 打印对象,会调用对象description方法。是print-object的简写
    po [self view]
3). expr 可以在调试时动态执行指定表达式,并将结果打印出来。常用于在调试过程中修改变量的值。
4). bt:打印调用堆栈,是thread backtrace的简写,加all可打印所有thread的堆栈
5). br l:是breakpoint list的简写

调用的入口

Thread.callStackSymbols

统计自己的工程有多少行代码

打开终端,cd到工程所在文件夹
1、列出工程共有多少行(grep -v "^$" 是去掉空行,注释也在代码量内)

find . -name "*.m" -or -name "*.h" -or -name "*.xib" -or -name "*.c" |xargs grep -v "^$"|wc -l

2、列出每个文件分别有多少行

find . -name "*.m" -or -name "*.h" -or -name "*.xib" -or -name "*.c" |xargs wc -l

多线程遍历数组(对遍历的顺序没有要求时)

DispatchQueue.concurrentPerform(iterations: array.count) { (index) in
      print("\(array[index])")
}

Swift中类似OC在函数体内定义static变量

因为swift中不支持添加不附加到类/结构的静态变量,可以尝试下面这种投机的方法

func test() {
    struct User {
       static var count = 0
    }
    User.count = User.count + 1
    print("\(User.count)")
}

通过runTime获取一个类的全部属性/方法

var count1: UInt32 = 0
var count2: UInt32 = 0
let members = class_copyIvarList(UIView.self, &count1)//获取所有属性
let methods = class_copyMethodList(UIView.self, &count2)//获取所有方法
for i in 0 ..< Int(count1) {
    let v = members![i]
    let a = ivar_getName(v)
    let t = ivar_getTypeEncoding(v)
    print("\(String(utf8String: a!)),\(String(utf8String: t!))")
    //object_setIvar()通过这个方放,可以修改属性值
}
for i in 0 ..< Int(count2) {
    let m = methods![i]
    let n = method_getName(m)
    print("\(String(utf8String: sel_getName(n)))")
}

Git创建公钥/私钥

1.检查本机是否已有公钥
在终端中输入如下命令:
$ cd ~/.ssh
2.如果电脑中有以前遗留的密钥,将其删除掉
使用如下命令:
$ mkdir key_backup
$ cp id_rsa* key_backup
$ rm id_rsa*
3.生成新的公钥
终端中输入如下命令
$ ssh-keygen -t rsa -C "邮箱地址"
之后终端会提示几次密码设置,如果设置了密码,在向Git仓库进行代码交互操作时需要键入密码,也可以全部回车带过,表示不需要密码。
4.向Git仓库中导入公钥
在.ssh文件夹下使用ls命令查看所有文件,可以看到生成了一个id_rsa.pub的文件,使用vi工具打开它,将其内容复制出来,在Git仓库中新建公钥,复制上去即可。例如github中导入密钥过程

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,736评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,167评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,442评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,902评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,302评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,573评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,847评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,562评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,260评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,531评论 2 245
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,021评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,367评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,016评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,068评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,827评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,610评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,514评论 2 269

推荐阅读更多精彩内容