-
MPCoachMarks库的学习笔记
这是一个很小的工具库,代码才300行,用于做功能提示,效果非常不错,其中用到了QuartzCore,需要看看。…
-
Note Anywhere 实现原理
Note Anywhere是一个非常优秀的chrome插件,可以在web页面的任何地方,插入一段笔记。Note Anywhere 的实现可以分为这几个部分: options background popupbackground 和 content_scripts background后台(姑且这么翻译吧),是一个常驻的页面,它的生命周期是插件中所有类型页面中最长的,它随着浏览器的打开而打开,随着浏览器的关闭而关闭,所以通常把需要一直运行的、启动就运行的、全局的代码放在backgro...…
-
chrome extension for note
需求希望能像看书记笔记一样,实现网上的技术文章的学习,能自由的记录、搜索、分享;1、参考diigo实现划重点的功能,参考 note anywhere 实现 标注的功能;2、标注和笔记,应该与当前的web页面关联,最好是包括web页面和笔记在内所以资料,本地存一份,另外存储到云端备份;最少也要能实现笔记单独存储在本地,另外在云端备份;3、最好能实现分享功能,方便用户将笔记分享给朋友,配置web页面直接查看;4、考虑是否实现保存笔记到Evernote等其他平台交互细节1、选中文本2、弹出菜单(...…
-
手写Weak
【从历年weak看iOS面试】2013年面试官:代理用weak还是strong?我 :weak 。 面试官:明天来上班吧2014年面试官:代理为什么用weak不用strong?我 : 用strong会造成循环引用。面试官:明天来上班吧2015年面试官:weak是怎么实现的?我 :weak其实是 系统通过一个hash表来实现对象的弱引用面试官:明天来上班吧2016年面试官:weak是怎么实现的?我 :runtime维护了一个weak表,用于存储指向某个对象的所有weak指针。weak表其实是...…
-
web页面适配iPhoneX
iPhone X 适配 手Q H5页面通用解决方案Designing Websites for iPhone X网页适配 iPhoneX,就是这么简单需要适配的点:顶部通栏的处理,底部通栏的处理,横屏的处理适配方式:1、旧页面,如果改造麻烦,可以先由客户端处理,要么客户端统一限制webview的显示区域,要么像手Q一样,跟据传进来的参数,做一些适配。强烈不推荐。2、新页面,或者旧页面改造,就完全按照苹果给的浏览器规范,去设置viewport-fit=cover,以及跟据需要,去设置safe...…
-
Runtime
重识 Objective-C Runtime - 看透 Type 与 Valuemethod TypeEncoding规则很简单:- (void)foo; => "v@:" // 'v':void; '@':self; ':':selector- (int)barWithBaz:(double)baz; => "i@:d" // 'i':int; '@':self; ':':selector- (NSInteger)tableView:(UITableView *)tableV...…
-
Property
尽量多的使用属性(property)而不是实例变量(attribute)因为属性(property)相比实例变量有很多的好处: 自动合成getter和setter方法。当声明一个属性(property)的时候编译器默认情况下会自动生成相关的getter和setter方法 更好的声明一组方法。因为访问方法的命名约定,可以很清晰的看出getter和setter的用处。 属性(property)关键词能够传递出相关行为的额外信息。属性提供了一些可能会使用的特性来进行声明,包括assign(...…
-
Concurrency Programming Guide
翻译这篇官方文档Concurrency Programming GuideIntroductionConcurrency is the notion of multiple things happening at the same time. With the proliferation of multicore CPUs and the realization that the number of cores in each processor will only increase, s...…
-
面试题收集
1、property 常用的后面修饰符,你回答的越多越好,但是,他会一个个问用法,然后再问你为啥,有啥特殊情况,怎么处理2、MLeakFinder 的源码看了没,怎么实现的?你能怎么去用到你的代码中?3、OC、JS 交互,具体的实现方式,JS 中的一个按钮点击后,webView都进行了哪些操作?从这个按钮中你能获取到哪些信息,能够做哪些处理?4、UILabel、UIButton、UITableView 跟 NSObject 啥关系?具体讲讲5、A 里有B、C 两个view,B中有两个按钮E...…
-
神策SDK源码分析
看看架构设计,以及如何实现全埋点,如何实现热点图热点图HeatMap打开热点图扫码得到url:”https://shence.xiangrikui.com/h5/appealApp/index.html?feature_code=sae851997akttcvH2jnU&protocal=sae851997a&project=production”safari打开后,跳转到App的url: sae851997a://heatmap?feature_code=sae85199...…