前言 不知不觉又过去一年,又增加许多客户端开发经验。有关注我更新的人可能会注意到,每隔一段时间我会对经历和环境做分析,同时也对未来做一些思考。从自身经历出发寻找能力的成长点,...
前言 不知不觉又过去一年,又增加许多客户端开发经验。有关注我更新的人可能会注意到,每隔一段时间我会对经历和环境做分析,同时也对未来做一些思考。从自身经历出发寻找能力的成长点,...
前言 刚过完生日,首先恭喜自己,又成长了一年;然后惋惜时光,又过去了一年;最后再庆幸,还是平平安安的一年。 伴随着年龄增大,工作经验越来也丰富,职业选择也似乎越来越局限,这或...
demo地址: SPButton 前言 最近我竟花了几天的时间去深入研究button,研究的过程当中,被imageEdgeInsets和titleEdgeInsets两个属性...
OC版本:
+ (Class)layerClass {
return CAGradientLayer.class;
}
- (instancetype)init {
self = [super init];
if (self) {
CAGradientLayer *layer = (id)self.layer;
// 对layer进行相关设置
}
return self;
}
@end
iOS UILabel 添加 CAGradientLayer在开发当中产品有时候要求文字背景有渐变效果,当然这个需求很简单,也有很多种实现方法,通常我们想到的做法就是通过 label.layer.addSublayer 添加 CAGr...
在开发当中产品有时候要求文字背景有渐变效果,当然这个需求很简单,也有很多种实现方法,通常我们想到的做法就是通过 label.layer.addSublayer 添加 CAGr...
前言 从事客户端开发已经有不少时间,期间经历过小规模的创业公司和大规模的成熟公司,对于客户端也有了更深的感受,也积累了一些App研发体系的建设经验,这里来分享下过去一段时间所...
前言 iOS面试辅助不针对任何一家面试题,这只是刷题的时候分享可能会出现的面试题,大家一起查漏补缺,温故知新。希望给你提供上真正帮助。 题目 1、说一下OC的反射机制; 2、...
01 臃肿示例 1.1 if-else 1.2 case-switch 02 重构 2.1 工厂方式重构 (1)抽象接口 Operation.java (2)加法实现 Add...
完整项目 GSD_WeiXin 高仿微信 v2ex - v2ex 的客户端,新闻、论坛。 V2ex-Swift - 用 Swift 写的 V2EX 客户端。 iBBS-Swi...
版权声明:本文为LooperJing原创文章,转载请注明出处! 一、设备相关 1、adb devices显示连接到计算机的设备 输出格式为 [serialNumber] [s...
前言 隐藏细节,暴露抽象。 作为一名有追求的工程师,我们希望代码能够在版本迭代中逐渐优化而不是劣化;同时也会学习掌握更多的技巧和工具,去更好的设计、实现和组织代码。偶然看到一...
赞思考,下一步朝T型发展!
选择方向,努力前行前言 最近沉寂了一段时间,文章的更新也没有以前勤快,看起来是开始划水的日子?而现实是之前个人技术成长到了一个瓶颈期,而且也处于一个职业道路的抉择路口。经过这段时间的思考以及实...
前言 最近沉寂了一段时间,文章的更新也没有以前勤快,看起来是开始划水的日子?而现实是之前个人技术成长到了一个瓶颈期,而且也处于一个职业道路的抉择路口。经过这段时间的思考以及实...
最新版 Xcode 已默认支持 Delete Line 和 Duplicate 借鉴文章:高效开发iOS系列 -- 为Xcode添加删除行、复制行快捷键 修改权限 修改Xco...
我希望网上那些不负责任的教程不要再瞎写atomic使用着synchronized这种东西了,至少得写成
Set 方法:——reallySetProperty(…)
objc_retain(newValue);
spinlock_t& slotlock = PropertyLocks[slot];
slotlock.lock();
oldValue = newValue;
slotlock.unlock();
objc_release(oldValue);
Get 方法:——objc_getProperty(…)
spinlock_t& slotlock = PropertyLocks[slot];
slotlock.lock();
id value = objc_retain(oldValue);
slotlock.unlock();
return objc_autoreleaseReturnValue(value);
而其中
spinlock_t锁其实 iOS 10 之后是
using spinlock_t = mutex_tt<LOCKDEBUG>;
而mutex_tt为
class mutex_tt : nocopy_t {
os_unfair_lock mLock;
}
其内部是os_unfair_lock,苹果推荐使用os_unfair_lock来代替不在安全的OSSpinLock
被问到这个问题,很多人会陷入纠结,这是肯定的,要是实话实说面试过,HR会不会觉得我对待现在这份工作不认真,我要是说没有,是不是有点假,显得又不够诚实。 其实,面试官能问这个问...
5年里,小强把精力从自己的工作上转移到了房子上,先抵押了自己的房产,抵押贷款又付了两套房子的首付,1年后趁房价高涨出售了其中一套,还清了贷款。现在一套自助,一套租给小明。手握两台房产的小强提前进入养老状态,找了个事业单位,过着一杯茶一张报纸的生活。
最近经常收到磁盘空间不足的告警,但是去定位可删除文件的时候,发现了一个问题,df显示磁盘满了,但是du计算得到的磁盘总空间却只占到磁盘空间的50%左右。 经过查询后终于找到原...
注意 在连续大量的写入数据的时候杀掉程序,会丢失数据,但这种写入,不应该用UserDefaults。 前言 在看没故事的桌同学的一篇Swift里我用这个姿势写UserDefa...
基础 Java 基础 《Java编程思想》,如果完全没有基础,可以先尝试《Head First Java》,看《Java编程思想》时不要过度在意细节,注意整体把握,根据关键点...