iOS7下莫名其妙的layoutSubviews

本条目发布于。属于iPhone笔记分类。作者是

现在是2016年11月22日晚上。 别人4年前买的,现在都落了灰的iPad,都是iOS8系统了。然而还有很多傻逼公司还在适配iOS7操作系统,我司就是其中一个!下面省略几万个字!。。。

如果你也很不幸,还在适配iOS7并且遇到了莫名其妙的问题,那可以继续看下去!(非常同情你)

谨以此纪念我浪费在iOS7上的2天时间!

背景概要:
写了个UIView,使用的是Autolayout,用了Masonry来布局各个控件。一切都很正常。然而最后测试报了一个iOS7上的奔溃。千辛万苦配置了iOS7的环境,找了一台iOS7的iPhone4来调试。果然奔溃,提示如下:

 *** Terminatin[......]

Read more

Mac OSX 升级Bash4

本条目发布于。属于Mac分类。作者是

最近在写shell脚本,需要把文件数据转成hash表,方便后面以Key-Value形式查找。然而Mac OS X 的默认Bash 是3.x版本,没有hash这种数据结构,尝试了各种方法,都不太行。最后发现Bash 4已经支持Hash,何乐而不为,直接升级吧!

下面使用brew更新bash到4.x(如果你还没有brew工具,赶紧先搜一下如何安装brew吧)

首先确认下自己的版本号

$ echo $BASH_VERSION

如果还是3.x版本,那就赶紧升级吧

1、安装bash

$ brew install bash

2、打开/etc/shells文件最后附加一行:

/usr/l[......]

Read more

为嵌套在左右滑动的UIScrollview上的UITableView增加滑动删除

本条目发布于。属于iPhone笔记分类。作者是

有一个界面,底部是一个UIScrollview,然后通过addSubView的方式 add了左右2个UITableView。可以左右滑动。一切都很正常,但是问题来了,今天要给右边的tableview增加滑动删除功能。 看似简单,但是有一个蛋疼的问题,这时滑动删除的事件被底部的UIScrollview给响应了,cell根本拿不到这个滑动手势。
想想就蛋疼啊,tableView是UIScrollview 的子类,cell里面的ContentView好像在iOS7.0之后也是UIScrollview ,再加底部一个UIScrollview,这滑动手势事件该怎么传递好呢,给谁都不行啊。 给了底[……]

Read more

关于Json中null的问题以及宏的返回值

本条目发布于。属于iPhone笔记分类,被贴了 标签。作者是

在iOS开发过程中经常需要与服务器进行数据通讯,Json就是一种常用的高效简洁的数据格式。

问题现象

但是几个项目下来一直遇到一个坑爹的问题,程序在获取某些数据之后莫名崩溃。其实很早就发现了原因:由于服务器的数据库中有些字段为空,然后以Json形式返回给客户端时就会出现这样的数据:

"somevalue":null

通过JsonKit 这个第三方库解析出来的数据就成了

somevalue = "<null>";

这个数据类型不是nil 也不是 String。 解析成对象之后,如果直接向这个对象发送消息(eg:len[……]

Read more

【iOS】显示系统内所有字体fonts

本条目发布于。属于iPhone笔记学习开发笔记分类,被贴了 标签。作者是

最近跟美工对字体,发现ios系统中已经有很多字体了,但是根本不知道字体的效果和名字,无从下手,于是就搞了一个小工具来显示所有的字体,方便查找对比,效果如下哦:

屏幕快照 2013-04-02 下午1.23.35 1

具体代码如果需要的话请到此下载

不过,我发现了一个致命的问题,这些字体对于中文来说几乎没什么区别。。。。(内牛满面啊!)

【iOS】浅析为什么delegate不能使用retain属性

本条目发布于。属于iPhone笔记分类,被贴了 标签。作者是

下午在群里正在讨论这个问题,大晚上看到这文章,非常激动。刚看开头以为作者文笔很差,估计写不清楚什么东西。但是,看完才发现这是干货,让我对内存管理又有了新的认识,自愧不如。决定不睡觉了,马山转载记录下来。

感谢原作者的分享,原文已经打不开,故在此放上转载的链接:http://stefan321.iteye.com/blog/1593869

===============开始==================

当你开始写iOS程式不久,应该开始面对到很多的delegate,
不管是用别人的library或是自己写library,可能都逃不了delegate。
为了怕有些人不[……]

Read more

在ios项目中使用iConsole,实现程序内debug

本条目发布于。属于iPhone笔记iPhone资料学习资料分类,被贴了 标签。作者是

还记得上次微信的4.3.3版中三指向上滑就可以调出iConsole控制台吗?当时还是蛮好奇的。随便了解了一下,没有深入。最近项目给甲方测试。老是反馈说在他们的网络下崩溃,而我却无法重新现bug。于是就想到了内置这个iconsole,看看他使用时的log。

IMG_0541

我在github下到了开源的iconsole源码和demo,很遗憾,github刚被我们伟大的GFW封了,所以想看官方的demo的话,可以到这里下:iconsole官方demo

下面开始使用iConsole

首先创建一个测试工程。
加入iConsole 和GTM 源码到工程中,如下图

QQ20130123-8

然后,需要使用把UIWindo[……]

Read more

【iOS】 推送服务的配置和实现

本条目发布于。属于iPhone笔记分类,被贴了 标签。作者是

前几天给app增加了推送服务,看了好多资料,最终实现了。在此整理一下,理清思路以便以后复习。

原理分析

================================

至于推送的原理,我大致提一下:

         大致如上图:

             1)、app 向苹果推送服务器(apns)注册,注册后获取deviceToken,

             2)、然后app 把这个deviceToken 发给我们自己的推送服务器,保存下来。

             3)、当需要推送时,我们就可以通过我们推送服务器,把需要的推送的目标设备的deviceToken[……]

Read more

【iOS】Objective-C 内存管理精髓

本条目发布于。属于iPhone笔记iPhone资料学习资料分类,被贴了 标签。作者是

OC的内存管理是我一直在学习的内容,以前也看了很多相关的文章,但是由于经验少,基本都是纸上谈兵,所以都不深刻。然后,在做项目之中,我也吃了很多内存上的苦,慢慢的积累了一些经验,然后时常回头看看这些文章,发现有了很多体会。
每一次回头看觉得自己在内存管理上有一次飞升。
讲讲现在对内存管理的理解:内存就像孩子,谁搞出来的,就谁负责!

在cocochina发现了一篇很不错的文章,觉得很有体会没,就转载于此,便于时常温习:

转于:http://www.cocoachina.com/newbie/basic/2012/0723/4484.html

iPhone系统中的Objecti[……]

Read more

【iPhone】UIWebview加载网上的txt文件显示乱码的问题

本条目发布于。属于iPhone笔记分类,被贴了 标签。作者是

最近要显示网上的word、ppt、excel、txt等文件,暂时先使用UIWebview加载显示,其他的都ok,但是显示txt时却显示乱码。
找了各种方法,暂时解决了,记录如下:

NSStringEncoding * usedEncoding = nil;
        //带编码头的如 utf-8等 这里会识别
        NSString *body = [NSString stringWithContentsOfURL:url usedEncoding:usedEncoding error:nil];
        if (!body)[......]

Read more