- 博客(108)
- 资源 (5)
- 收藏
- 关注
原创 NSLog 的优化
NSLog 的优化 打印日志,是任何开发常用的调试手段。在ios系统提供了打印日志的API The utility functions NSLog() and NSLogv() use the NSString string formatting services to log error messages. Note that as a consequence of this, you sh
2015-12-28 15:38:15 708
原创 ReactiveCocoa 框架 (一)-- 函数响应式编程(FRP)框架
ReactiveCocoa 框架 (一)-- 函数响应式编程(FRP)框架 ReactiveCocoa 框架(以下简称 rac 框架), 最初接触这个框架 是在15年的10月中旬,当时抱着先会使用的心态,在项目中去使用它。由于 工作的时间关系,一直也没有写一些关于学习 rac 的体会。前段时间,偶然在 aol 上搜索到一篇 关于 rac 框架 原作者的 原文开发手册,仔细研究了一番,现在 把有关
2015-12-28 13:44:18 921
转载 NSPredicate --(谓词查询) Foundation提供的类,它指定数据被获取或者过滤的方式
NSPredicate是一个Foundation类,它指定数据被获取或者过滤的方式。它的查询语言就像SQL的WHERE和正则表达式的交叉一样,提供了具有表现力的,自然语言界面来定义一个集合被搜寻的逻辑条件。 相比较抽象的谈论它,展示NSPredicate的使用方法更加容易,所以我们来重新审视NSSortDescriptor中使用的示例数据集吧: 索引
2015-06-19 10:41:25 896
原创 AsyncDisplayKit -- ( facebook/新浪微博 ) 优化UI性能
AsyncDisplayKit 是facebook,为了自身的app 《Paper》提高在iOS系统上UI刷新显示的性能,结合runtime 和 runloop 以及UIKit,封装制作了一个开源的异步显示UI的库。如果你的项目中,多处用到了图片渲染,以及显示UI元素之前有很多计算操作,那么你就可以考虑使用 AsyncDisplayKit。当然 如果你不追求性能的优化,直接使用UIKit 也是
2015-06-14 16:08:54 2111
原创 利用 僵尸环境变量 找出Crash原因( 僵尸断点 )
iOS程序Crash,如果由于程序上的的逻辑错误或者数组越界,一般都会有错误日志会输出错误的原因,已经跟踪堆栈错误信息。但是 有的时候,就会没有任何错误日志输出。程序直接crash掉。有多种原因造成这种没有 错误日志输出的情况。大致可以有 :1: 使用了断言(注意不是断点)。2:_objc_sendMessage not found Object ( 某一对象被提前释放 )。下面给一个例子(为
2015-06-13 14:08:04 890
原创 AFNetWorking 和 SDWebImage 图片缓存对比
看似两个名字相近,但是这个缓存类却没有丝毫的关系。背景:NSURLCache : 在ios5以前,apple不支持磁盘缓存,在ios5的时候,允许磁盘缓存,(NSURLCache 是根据NSURLRequest 来实现的)只支持http,在ios6以后,支持http和https。 两者的区别: NSURLCache: 可
2015-06-12 16:38:08 4643 1
转载 NSCache 原理 (著名开源框架SDWebImage 就是使用的NSCache实现的缓存)
NSCache是一个类似于集合的容器,即缓存。它存储key-value对,这一点类似于NSDictionary类。我们通常用使用缓存来临时存储短时间使用但创建昂贵的对象。重用这些对象可以优化性能,因为它们的值不需要重新计算。另外一方面,这些对象对于程序来说不是紧要的,在内存紧张时会被丢弃。如果对象被丢弃了,则下次使用时需要重新计算。当一个key-value对在缓存中时,缓存维护它的一个强引
2015-06-12 15:46:25 4106 1
原创 超赞的 SDWebImage 框架( 和AF提供的图片缓存比较 )
SDWebImage 是一个超级牛逼的开源框架。我们 如果只满足于公开的api来使用它,那么你可能不会对这个开源框架的作者佩服,也就不知道这个框架是迄今为止,在ios中来说,缓存时做的最好的一个(没有之一)。 记得以前早些时候去百度面试的时候,那时的技术大牛问我的问题,就是:你看过SDWebImage 框架的源码吗?好了,废话不多说,开始说说 SDWebImage 这个框架吧。
2015-06-12 11:53:29 1151
原创 UIDynamics -- 力学部分
网上资料:http://ningandjiao.iteye.com/blog/2009542#import "ViewController.h"#import "AZball.h"@interface ViewController (){ AZball *_ball; UIDynamicAnimator *dynamicAnimator;}@end@i
2015-06-09 19:05:57 595
原创 批量打包-- ipa
公司最近的项目是 app工厂,目的就是让不懂程序的人,直接可视化的拖动,然后上传必要的资料,就可以拥有一款自己的app。这不禁让我想起了,当年我读大学的时候,正好是中兴的企业老师,想我们展示的安卓批量工厂,那个时候觉得好高大上啊!原来不懂程序的人都可以制作一款自己的移动软件。但是!!: 凡是用户看起来简单的操作,对于技术来说,都是很头痛的。尤其是要考虑到每个模块之间的耦合性!好了,话不多说了。
2015-05-21 18:50:45 539
原创 iOS 跟踪错误日志
iOS开发中遇到程序崩溃是很正常的事情,如何在程序崩溃时捕获到异常信息并通知开发者,是大多数软件都选择的方法。下面就介绍如何在iOS中实现:1. 在程序启动时加上一个异常捕获监听,用来处理程序崩溃时的回调动作 NSSetUncaughtExceptionHandler (&UncaughtExceptionHandler); 官方文档介绍:Sets the top-le
2015-05-21 14:44:29 650
转载 IOS获取网络类型方法分析
公司在做一个项目,需要区分网络类型。Reachability类只能区分WIFI和WWAN类型,却无法区分2G网和3G网。网上也有些方法,却都存在Bug。经过两次的网上查找资料和测试,基本上又三种方法,以下将一一介绍并解析不足。typedef enum { NetWorkType_None = 0, NetWorkType_WIFI, Net
2015-05-13 16:29:37 412
原创 oc 的 runtime机制(一)
最近 研究oc中的runtime机制。先把一些研究体会记录下来。首先:runtime 是什么? runtime是一套比较底层的纯C语言API, 属于1个C语言库, 包含了很多底层的C语言API。 在我们平时编写的OC代码中, 程序运行过程时, 其实最终都是转成了runtime的C语言代码, runtime算是OC的幕后工作者 为了验证,我们可以这样创建一个oc工程,通
2015-05-06 17:45:43 807
转载 iOS7 UIWebView内存泄露问题解决方法
关于iOS的UIWebView内存泄露的问题,已经存在了很长时间。一直也没有什么好的解决方法。最近因公司的一个项目,因为内存问题一直闪退。为了解决这个问题,在网上找了很多方法,但是基本上都不怎么好用问题依旧。以前也碰到过这个问题,当时的解决方法就是设置NSURLCache大小。因为iOS当中的网络通讯默认都是通过NSURLConnection来实现的。所以UIWebView内部通讯也是通过NSUR
2015-05-01 00:50:26 495
原创 沙盒目录的区别
沙盒目录下:有三个文件夹:1:Documents: 保存用户所创建的文件 或者需要 稳定的长期保存的文件(系统不能删) 注意:icolud会将documents下的所有文件备份,所以如果保存的不是用户所创建的文件,那么需要进行设置。否则审核会不通过。(例如:db文件)2:Library{ Library/Preferences: 包含应用程序的偏好设置文件。您不应该
2015-04-14 12:32:20 631
转载 ios 第三方qq登陆 {"ret":100030,"msg":"this api without user authorization"}
_permissions 授权信息列表问题之前看官方文档这样写: _permissions = [NSArray arrayWithObjects:@"get_user_info", nil];最后跟那边的技术人员交流才知这样才对 :应该这样写:_permissions = [NSArrayarrayWithObjects:kOPEN_PERMISSION_GET_INFO
2015-04-12 20:27:45 2119
转载 oc 和 swift 混编
作者:fengsh998原文地址:http://blog.csdn.net/fengsh998/article/details/34440159转载请注明出处如果觉得文章对你有所帮助,请通过留言或关注微信公众帐号fengsh998来支持我,谢谢!swift 语言出来后,可能新的项目直接使用swift来开发,但可能在过程中会遇到一些情况,某
2015-04-07 18:37:11 476
原创 关于Documents下文件自动备份到iCloud--(db保存在documents被拒的原因)
iOS 5有了iCloud后,Apple更新了数据存储指导方针,以适应于iCloud存储,同时增加了“不要备份”文件属性,可以指定文件不备份和上传到iCloud。ios5 之后,Apple默认会将documents下的文件 在wifi的模式下时,全部备份到iCloud,这就导致了,我们的一些db文件 也会被保存到icolud ,那么apple认为这些文件并不是用户关心的,而被备份到了icolu
2015-03-23 10:34:34 6696
原创 ios8.0 推送中的 categories
iOS 8.0 之后,在推送中新增加了categories,这是个什么意思呢?它只针对iphne锁屏的状态下。看图就明白了。在ios8.0 以前(7.0~8.0):在锁屏的情况下,只会显示这样的推送界面:但是 ios8.0 的系统可以这样:(向右滑动的,出现选择两个选择项)代码中体现为:使用了umeng的推送sdk,(所有的第三方推送都差不多,个人推
2015-03-20 13:09:55 677
原创 真机调试/发布app/测试机如何安装ipa ---(xcode打包ipa)
链接地址:http://my.oschina.net/joanfen/blog/167730
2015-03-16 10:54:55 10874
转载 代码切圆角--只切指定的几个角
UIBezierPath *maskPath=[UIBezierPathbezierPathWithRoundedRect:self.picImageView.boundsbyRoundingCorners:UIRectCornerTopLeft|UIRectCornerTopRightcornerRadii:CGSizeMake(8, 8)]; CAShapeLayer
2015-03-12 17:23:10 804
转载 UICollectionView--UICollectionViewController
UICollectionView 和 UICollectionViewController 类是iOS6 新引进的API,用于展示集合视图,布局更加灵活,可实现多列布局,用法类似于UITableView 和 UITableViewController 类。使用UICollectionView 必须实现UICollectionViewDataSource,UICollectionViewDe
2015-03-06 11:09:17 488
转载 新版SDWebImage的使用(转)
我之前写过一篇博客,介绍缓存处理的三种方式,其中最难,最麻烦,最占内存资源的还是图片缓存,最近做的项目有大量的图片处理,还是采用了SDWebImage来处理,但是发现之前封装好的代码报错了。研究发现,是我用了新版的SDWebImage,好多方法都变了。现在把代码贴出来,供大家参考。尤其是新手,看完这篇博客,图片缓存so easy。最后有demo供大家下载,先学习。第一步,下载SDW
2015-03-03 11:20:38 459
原创 从一个view中获取到它的ViewController (事件响应机制,层层传递事件)
#pragma mark -- 获取view的controller- (UIViewController *)viewController{ for (UIView* next = [self superview]; next; next = next.superview) { UIResponder *nextResponder = [next nextResp
2015-03-03 11:15:28 924
原创 解决git中 项目合并冲突的问题
在创建项目的时候,选择Gitlgnore-->Objective - C - .gitignore 然后修改.gitignore 文件中的内容为:._.DS_Storebuild*.pbxuser*.perspectivev3*.mode1v3.DS_Store*.lock.svnUserInterfaceState.xcuserst
2015-02-12 18:24:32 1274
原创 iOS--拨打电话--图(两种方式:其中有提示用户是否需要拨打,拨打完后,回到应用程序)
在iOS中拨打电话有两种方式:1.使用openURL[[UIApplication sharedApplication] openURL:[NSURL URLWithString:num]]; //拨号但是这种方式,是直接拨打,且拨打完后,会返回通讯录界面。 2.利用webview拨打使用这种方式拨打,电话,会自动提示用户,是否需要拨打该电话,同
2015-02-06 18:45:26 689
原创 UITabBar -- 定制
- (void)viewDidLoad { [super viewDidLoad]; tabBarViewController = [[UITabBarController alloc] init]; tabBarViewController.view.backgroundColor = [UIColor blackColor]; tabBarViewContro
2015-02-05 10:45:50 743 1
转载 CoreMotion框架-iOS设备的核心运动
原文地址:http://blog.sina.com.cn/s/blog_7b9d64af0101cu4p.html为了防止博主的博文被删。将内容都复制下来。我们知道iOS的应用真的太多了,很多应用让我们惊叹不已!!!很多意想不到的应用!比如:1.电子罗盘指南针之类的应用-让我们知道方向。2.运动类型软件-让我们知道我们跑步多少公里。3.社
2015-01-27 17:51:44 629
原创 自定义菜单列表--(图)
代码:-(void)createSelectionMenu { selectionMenu = [[UIView alloc] initWithFrame:CGRectMake(0,SCREEN_HEIGHT,SCREEN_WIDTH, 320)]; UIView *background = [[UIView alloc] init]; background.
2015-01-26 11:02:52 562
原创 使用GPUImage 实现利用GPU来实习滤镜(实时滤镜 和iphone手机一样)
一:将GPUImage 添加到工程 两篇资料 国外链接地址:http://code.tutsplus.com/tutorials/build-a-photo-app-with-gpuimage--mobile-12223 国内链接地址:http://bbs.lbsweek.com/thread-1923-1-1.html 注意:二:使用
2015-01-23 16:42:18 1312
原创 iOS--相机(自定义相机) 保存照片到相册
自定义相机 提供两个链接:http://course.gdou.com/blog/Blog.pzs/archive/2011/12/14/10882.html (原理讲解)http://www.cnblogs.com/liangzhimy/archive/2012/10/26/2740905.htmliOS中使用相机,有两种方式:1:使用ios系统自带的相机。( UIImag
2015-01-22 18:37:49 2136
原创 使用shareSDK调用sina微博客户端,从客户端直接分享
示例: #import "AppDelegate.h"#import #import "WeiboSDK.h"@interface AppDelegate ()@end@implementation AppDelegate- (BOOL)application:(UIApplication *)application didFini
2015-01-22 14:49:34 2788
原创 在xcode 6.1 中使用shareSDK 或者原生的sinaSDK 运行程序崩溃-reason: '-[__NSDictionaryM weibosdk_WBSDKJSONString]
遇到的问题根据新浪微博 SDK 附带的文档接入项目后,在模拟器运行项目,在调用注册方法时发生崩溃。注册方法代码:1[WeiboSDK registerApp: @"xxxxxxxx"];崩溃信息打印如下:1*** Terminating app due to un
2015-01-22 14:41:42 3330
转载 程序启动原理和UIApplication--(设置applicationIconBadgeNumber 、打电话、发短信、发邮件)
一、UIApplication1.简单介绍(1)UIApplication对象是应用程序的象征,一个UIApplication对象就代表一个应用程序。(2)每一个应用都有自己的UIApplication对象,而且是单例的,如果试图在程序中新建一个UIApplication对象,那么将报错提示。(3)通过[UIApplicationsharedApplication]可以获得这个
2015-01-14 09:37:52 981
原创 iOS -- 支付宝SDK 的使用(支付功能)
iOS中使用支付宝SDK支付的流程。 1:首先先导入支付宝官方的SDK-- “alipay”。 2:导入官方类库:CFNetwork、SystemConfiguration、Security 3: 在相应的页面包含 头文件 :
2015-01-12 14:27:20 2915
原创 iOS -- 访问通讯录
在iOS中 通讯录访问使用的是相对底层的C代码。 首先需要导入系统框架:AddressBook.framework注意: 在程序第一次需要访问通讯录的时候,必须先询问系统是否允许当前程序访问通讯录,等待作答。iOS7以后,如果不写询问,可能崩溃。。询问方法:参数 granted==YES,表示允许使用, granted==NO,表示不允许使用 ABAddre
2015-01-09 11:40:28 948
转载 UIView的layoutSubviews和drawRect方法何时调用
首先两个方法都是异步执行。layoutSubviews方便数据计算,drawRect方便视图重绘。 layoutSubviews在以下情况下会被调用: 1、init初始化不会触发layoutSubviews。2、addSubview会触发layoutSubviews。3、设置view的Frame会触发layoutSubviews,当然前提是fram
2015-01-07 14:25:21 623
转载 第三方支付接口编程资料汇总
第三方支付接口1. 快钱支付2. 支付宝3. YeePay易宝4. 邮局支付(网汇通)5. 安付通6. 网银(chinabank)7. PayPal贝宝8. ips环迅支付9. 腾讯财付通10. NPS网上支付系统1.快钱支付(银行/邮政汇)
2015-01-05 10:38:55 1754
原创 如何自己写一个容器来实现viewController之间的切换
视图控制器:ViewController在iOS程序开发中官方提供了四种切换ViewController的方法:01 模态视图切换02 UINavigationController03 UITabBarController04 addChildViewController第四种方式我们用来自定义容器时,切换ViewController。
2015-01-04 16:51:18 545
转载 JS -- 获取网页元素的高度 (全面)
js获取网页高度 function getInfo() { var s = ""; s += " 网页可见区域宽:"+ document.body.clientWidth; s += " 网页可见区域高:"+ document.body.clientHeight; s += " 网页可见区域宽:"+ document.body.offsetWidth + " (包括
2014-12-27 15:18:51 770 1
好.压缩【MAC上免费解压rar、7z等所有格式】.zip
2019-05-28
AsyncDisplayKit--demo
2015-06-14
iOS二维码--第三方库 libqrencode、ZBarSDK
2014-12-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人