今天踩了一天的坑,关于ShareSDK。
先讲一个,有时间把ShareSDK文档中没有说清楚、讲的不明白的东西都写出来。
工作中需要制作一个ActionView,为了良好的封装性,使用一定要极为方便:XxxActionSheet.show()
显示,XxxActionSheet.dismiss()
隐藏。
所以对于任意视图呈现的View,我们应该能很自然地想到要添加到window上。
当自定义了NavigationBar的leftBarItem时,会导致优化返回手势失效,同时当我们子类化了NavigationController后定制了手势后会发现pop所调用的方法失效。
我这么说您可能比较凌乱,反正总之是完美解决,现在是凌晨一点二十六……挖个坑,明天来填!
用Swift做了一个登录界面。背景是一个全屏幕的UIImageView
,用定时器来定时更换图片,点击登录/注册按钮会出现UITextField
。为了使用方便简单,比如用户退出登录时、用户令牌超期等情况,直接弹出登录界面——我把这个登录ViewController做成了单例模式。
本文由Swift语言做示例,由于Objective-C和Swift均使用ARC方式管理内存,所以优化思路和方式完全相同,只是相关方法的使用稍有不同。
@property在Objective-C中,我们称为属性。它与实例变量有密不可分的关系,从而会涉及到内存管理、KVO等诸多细节问题。
看了很多代码,不少人对使用@property
的使用习惯和认识也有一些不合理的地方,所以写这篇文章来谈谈@property
的正确使用姿势。
鄙人水平有限,若文章内容存在错误,欢迎您在评论中指正,我会感激不尽。
在刚开始接触用代码写自动布局的时候,我是拒绝的。相信各位开发者也有同样的困惑——由系统提供的自动布局API臃肿、繁琐;在IB里拖约束呢,多人合作的时候,合并冲突也是个麻烦事。
就我个人而言,由于是独立开发,所以基本使用IB来拖。像知名的Masonry,我也关注过,但SDAutoLayout,我必须要安利一把。她有着更为性感的API。
很多时候架构解耦不彻底,我们不得不在View层或Model层处理Controller内的逻辑,调用Controller内的方法,虽然使用delegate或block等回调方式更加清晰明确,但有时却不如直接调用来的方便。
在iOS中,所有的UIControl标准控件使用到最普遍最传统的执行方法的方式就是Target-Action,中文一般称作目标-动作,是比较常用的一种设计模式。它的主要思想就是,在对象产生某个事件的特定时刻,给一个对象发送一个消息。就好像说『当talisk即将吃早饭的时候,swain去煎个蛋』。
其实Target-Action是很好用很方便的一个模式,但其最致命的一个缺点就是传值很麻烦,本文总结下这种模式的传值方式,并给出我认为最好的一个传值方式。
Wear省心天气很不容易地上线了,然而就在上线后第二天,我的一些朋友,包括我自己都发现应用有严重bug,点开天气详情就闪退,这几天家人生病住院,我无暇顾及看bug。简单看了下bugly上报的崩溃栈,是天气趋势数据数组溢出,想不明白为什么,调试了下才发现,我真心是替百度APIStore背了锅。想想我这第一个上架的应用开发过程也真是艰辛,开发过程历经无数大小坑,确实有必要来写一写,总结一下这些坑。