1. 使用 NSValue
NSValue
可以弱引用保存一个对象,我们可以使用这种方法间接的引用。
1 | NSValue *value = [NSValue valueWithNonretainedObject:@selector(class)]; |
NSValue
可以弱引用保存一个对象,我们可以使用这种方法间接的引用。
1 | NSValue *value = [NSValue valueWithNonretainedObject:@selector(class)]; |
写代码是一种习惯的养成,一种生活的态度。
以前学 iOS 开发的时候,喜欢在 ViewController 和 Cell 里初始化视图,还有数据模型数组的时候,是用的懒加载(Lazy-Load)。为什么这么喜欢用懒加载来实例化一个属性呢?
nil
;References: The Swift Programming Language
某程序员对书法十分感兴趣,退休后决定在这方面有所建树。于是花重金购买了上等的文房四宝。一日,饭后突生雅兴,一番磨墨拟纸,并点上了上好的檀香,颇有王羲之风范,又具颜真卿气势,定神片刻,泼墨挥毫,郑重地写下一行字:
hello world
。
假设我们已经有一个 VPS,并且可以 ssh 登陆上去。
1 | apt-get install python-pip |
如果第一条命令执行失败的话 : E: Unable to locate package python-pip
,就用官方给出了一个安装脚本进行安装:
1 | wget https://bootstrap.pypa.io/get-pip.py python get-pip.py |
iOS开发深入之后还是要接触多线程和runloop的,写篇博客讲解、记录下iOS开发中的多线程技术。
有的人说进程就像是人的脑袋,线程就是脑袋上的头发~~。其实这么比方不算错,但是更简单的来说,用迅雷下载文件,迅雷这个程序就是一个进程,下载的文件就是一个线程,同时下载三个文件就是多线程。一个进程可以只包含一个线程去处理事务,也可以有多个线程。
Objc 中任何对象都可以称之为 id
类型,那么看下在 objc.h
对 id
类型的定义:
1 | /// A pointer to an instance of a class. |
注释中的描述是 一个指向类的实例的指针,那么是不是意味一个类的实例即对象就是一个 objc_object
结构体呢?再看源码:
以后会持续更新的~
博客在于内容而不在于形式,反反复复折腾体验了几个主题。以后或许便会稳定不在折腾。
Git 配置变量存放在以下三个不同的地方:(摘自1.5 起步 - 初次运行 Git 前的配置)
/etc/gitconfig
文件:系统中对所有用户都普遍适用的配置。若使用 git config
时用 --system
选项,读写的就是这个文件。~/.gitconfig
文件:用户目录下的配置文件只适用于该用户。若使用 git config 时用 --global
选项,读写的就是这个文件。.git/config
文件):这里的配置仅仅针对当前项目有效。每一个级别的配置都会覆盖上层的相同配置,所以 .git/config
里的配置会覆盖 /etc/gitconfig
中的同名变量。CSS 全称是Cascading Style Sheets,层叠样式表,被用来控制HTML标签的样式,美化网页
。CSS有两个重点: 属性 和 选择器 。
CCS的编写格式是以键值对的形式,如:
1 | color : red; |
记得刚从事工作的时候,经常性的会遇到困难而不知所措。幸而在网上能找到很多牛人前辈们的技术博客能将问题和开发中的知识深入浅出的剖析,给予了我很大的帮助。于是,那会我便下定决心以后有机会一定要写自己的博客。
写这个博客主要作为学习以用,记录自己在生活、学习和工作中的点点滴滴。
既可以温故而知新,也可查漏补缺,方便自己回头查找使用方便,或能帮助他人也是好的。
Update: 或许可以构架自己技术知识体系?en…