0%

这周在做数据库迁移(v1.sqlite to v2.sqlite,需求:更改数据库里面某个字段的值,数据库用的是coredata,在读取数据库、迁移是用的是FMDB)时,遇到一个比较奇怪的bug(其实一点都不奇怪,只怪自己图样图生破)。就是时间字段(coredata存储的是NSDate对象)迁移后的年份是1985年(比如:原数据库的时间是2016.2.26,而迁移后却是1985.2.26),百事不得其解……后面查到原因是因为Apple NSDate对象存储的时候不是以1970.1.1作为基准,而是以2001.1.1作为基准的,详情请看下面。

阅读全文 »

SDWebImage这个第三方库大家都不陌生吧,一个网络请求图片用的。其官方解释是:作为UIImageView的类别,支持缓存的异步下载图片。

它有一些特点:

一个带有管理网络图片下载和缓存的UIImageView类别
一个异步图片下载器
一个提供内存和磁盘缓存图片,并且能够自动清理过期的缓存
支持GIF图片
支持WebP
图片后台解压图片
保证通一个URL不会下载多次
保证假的URL不会返回加载
保证主线程不会堵塞
高性能
使用GCDARC
支持Arm64

阅读全文 »

博客已经两个月没有更新了,心里塞塞的。国庆节,把Objective-C高级编程:iOS与OS X多线程和内存管理看了一遍,其实这本书去年就买了,但是一直都放在柜子里冷藏中,这本书里面分析苹果源码的写的很好,里面很多东西都是从苹果官方网站摘要的,第一章”自动引用计数”大部分内容摘自Transitioning to ARC Release Notes。对于只有一点C、C++基础而直接接触iOS开发的我,开发中大部分都是从网上找资料,学的东西也是很零散,项目中需要什么就赶紧补什么,能够实现这个功能并且不出bug就行,原理方面的知道的很少,其实苹果官方网站和Xcode真的是学习的好工具,在苹果官方网站,你能系统的学到该知识点,用的时候能够说出个所以然来。在看文档的时候,对比自己项目中的代码,有违背apple开发文档的就改回来,这样对项目和自身都是有好处。所以,我打算多看看apple开发文档,记录一下那些快速消化技术点而遗漏的知识点。

阅读全文 »

实现过程1

今天来谈谈类似于新浪微博话题功能的简单实现,当文字是”#话题#”这种格式时,该文字字体得变颜色。个人觉得,这种问题的处理方式可以是,监听用户输入的信息,如果遇到有”#”号输入或删除时,再处理看是否需要改变字体颜色。于是我就按照这种思路写了一段改变颜色的代码,它就是是遍历textview.text,然后在将两个”#”号之间有文字的字体设置颜色,不会玩正则,所以这个方法比较蠢。O(∩_∩)O~

阅读全文 »

#前言
今天隔上一篇博文已经差不多有一个月了,感觉非常羞愧,因为这意味着我特么将近一个月里面没有学到新知识。其实呢,不是这样子的,做项目过程中肯定有遇到问题,也有解决问题,但是就是没有长记性,说白了点,就没有记下来。今天洗澡的时候,突然又创建了一句座右铭“你可以蠢,但是不能懒;你可以懒,但是不能没有责任感。”作为一个经常刷技术微博的我,肯定会学在大牛的博客里面了解到一点东西。“先转后看”,这就是我的原则。其实,这种想法、做法是非常浪费时间的,因为我平均一天要刷将近半个多小时的微博,在项目中很有可能会遇到以前在微博中看到过的东西,但是你还要去找啊找。就前几天,同事要做类似于黄易导航栏点击切换栏目的效果,我记得我有看到过,果不其然在微博中找到了它WMPageController,但如果时间隔很久,那我岂不是要找很久,这就是浪费时间啊!以前转发微博的时候,会@我的印象笔记,当然这比较容易搜索,但是东西多了,你总得要花点时间去找到自己想要的那个东西。所以吧,“好记性,不如烂笔头”,古人的话总没错。这又让我想起了我们家那边的老话,“出门带好下雨伞”,然后然后我就想起了前天周五湿身的感觉,fuck!!!幸亏有好心同事救济我。前几天在cc上面看到一篇文章如何坚持每周写一篇博客,个人觉得写地挺好的,一想到自己隔这么久没有写博客了,就感到非常羞愧,所以吧,要坚持!因为你是男人嘛。好了,废话了这么久,实在不像是一个程序猿,下面来扯扯这周所学到的新技巧。

阅读全文 »

前言

以前开发App的时候就两个版本,调试版和发布版,至于这两个版本的区别大家都知道,服务器的数据库不同(即URL不同),那个时候我的做法就是,在网络请求API里面,将URL定义成宏,版本上线时手动切换URL。当时没有觉得这个方法很挫,后面到新东家的时候,发现有三个版本,即测试版、企业版、AppStore版,我当时就在想如果还像以前那样搞,这该怎么玩啊。后面发现三个版本生成的APP名字都不一样,我当时很惊讶,这个看上去很牛逼的样子啊。直到前段时间借助一篇博文才搞懂其中的秘密,下面我来翻译一下这篇博文,下面我采取中英文并茂的形式展现,如有翻译不当之处,请拍砖。

阅读全文 »

最近在项目有遇到图片打标签的需求,即在图片上面添加相关标签(标签可移动、删除),然后生成一张新的图片,上传到服务器上。下面就来谈谈我的实现方式吧,如果你有更好的方法,麻烦告诉我,THX。

###实现过程
我的思路是:Pan手势拖动标签;LongPress手势显示“删除”ItemMenu,点击删除item删除标签;新图片屏幕截图生成;图片展示在画布的方式自适应。首先将标签自定义一个View。

阅读全文 »

前言


当时刚开始搞iOS开发的时候,对断点调试的理解局限于:看代码风骚的走位,即当运行出来的效果对不住我的代码时,我会去看代码是怎么运行的,然后用雍正之剑去砍杀八阿哥。后面慢慢的接触lldb后,发现lldb用起来真的很赞,下面我来分享一下我在平时开发中积累的一些用法,这些用法有些是从网上发现的,有些是同事告诉我的。

阅读全文 »

#前言
让图片可点击这个需求在项目中经常遇到,一般我会有两种做法。

  • UIImageView + UITapGestureRecognizer
  • UIButton setBackgroundImage

但是最近遇到这样一种需求:

  • 图片可点击
  • 图片数量多
  • 能够获取Image对象

如果还用上面那两种方法的话,感觉有点蛋疼,于是自己就写了一个UIImageView的子类。

阅读全文 »

#前言
想用blog的形式来记录自己的开发路程这个想法很早就有了,但是一直都没有行动。最近有段时间在面试,很多东西当时项目中遇到的时候能搞懂,但是面试官一问就有点卡壳了,归根结底是自己没有理解渗透、掌握牢固。这周在知乎上面看到了 费曼技巧 的相关问答,觉得这种学习技巧真的很好,能把所学东西经过自己的理解,让普通人都能听懂,这样说明你自己真正的懂了。个人觉得写blog好处有如下几点

  • 记录自己的学习点滴、开发过程
  • 加强自己的表达能力
  • 练习费曼技巧
  • 结交有共同爱好的朋友

今天下午在网上找了很多资料,终于把基于github和hexo的个人blog给搭建好了,下面我把搭建的经过述说一下。

阅读全文 »