在 Swift 中,我们会使用 ? 和 ! 去显式声明一个对象或者方法的参数是optional 还是 non-optional ,而在 Objective-C 中则没有这一区...
在 Swift 中,我们会使用 ? 和 ! 去显式声明一个对象或者方法的参数是optional 还是 non-optional ,而在 Objective-C 中则没有这一区...
在开发过程中发现了,selected状态下的button,点击按住,并不是highlighted状态,经过试验后发现,按钮状态是UIControlStateSelected ...
项目如果build成功,模拟器app安装成功后报错如下 Application launch for 'XXX' did not return a valid pid nor...
1. KVO KVO,(Key-Value Observing),即键值观察,是一种机制,允许注册成为其他对象的观察者,当被观察对象的某个属性值发生改变时,注册的观察者便能获...
为啥要写这篇文章呢,是因为之前也搜过关于TCP/IP、HTTP的相关知识点,但是因为知识点太零散,所以理解的不透彻,过一阵就忘没了,只记住了TCP需要三次握手、TCP是有状态...
经常会在业务中遇到只需要上部圆角的背景,常规方式有两种:1.直接让设计师切图2.自己画 先上代码 上述还有小tips,swift中的option类型的枚举,并不是使用|运算,...
引言:weak在日常开发中其实挺常用的,weak所修饰的变量,在其所引用的对象被废弃时,会将nil赋值给变量。由于上述作用,weak常常能解决循环引用等问题。 所以现在就来看...
系统: Ubuntu16.04 打开控制台查看Ctrl + 反引号 由于github采用https协议,sublime使用urllib就会报错 解决方法:Preference...
iOS GCD (一) 任务+队列 基础组合iOS GCD (二 ) dispatch_group 队列组iOS GCD(三) dispatch_barrier_asyn...
更新 针对本文和评论区的大家的疑惑,我统一写到了这篇文章中,解释了class_addMethod ,class_replaceMethod和method_exchangeIm...
一、背景 业务扩展的需要,对用户行为数据的收集和分析也就日益重要,前期实现的打点方案是直接在业务代码中埋点,与业务结合的太深,无法跨app使用,且开发测试都比较麻烦。基于以上...
最近研习了美团等大厂的一些埋点方案。还要感谢大神《xuhaoranLeo》的指点。(既然大神没空写博客、但我可以代劳哈)。 本文的宗旨是尽量全面、精简、满足我能想到尽量多的埋...
背景 业务扩展的需要,对用户行为数据的收集和分析也就日益重要,前期实现的打点方案只能使用在单一app客户端中,无法移植跨app使用。故安领导要求,我和一名同事接手了iOS客户...
//遍历获取所有属性Property
- (void) getAllProperty {
unsigned int propertyCount = 0;
objc_property_t *propertyList = class_copyPropertyList([Person class], &propertyCount);
for (unsigned int i = 0; i < propertyCount; i++ ) {
objc_property_t *thisProperty = propertyList[i];
const char* propertyName = property_getName(*thisProperty);
NSLog(@"Person拥有的属性为: '%s'", propertyName);
}
}
property_getName(*thisProperty)是不是应该改为property_getName(thisProperty)
三分钟教会你runtime获取属性和成员变量runtime之属性和成员变量 目录 成员变量和属性到底是什么?怎么通过runtime获取属性?怎么通过runtime获取成员变量?成员变量和属性的区别?实际应用场景是什么?...
月薪两万的人发不发朋友圈我不知道 反正我公司那些住着大别野的老板们经常发