IOS开发
文章平均质量分 67
uxyheaven
追求真理比占有真理更加难能可贵
展开
-
iOS CocoaPods 私有库 steps and tips
这篇文章记录了下cocoapods私有库的一些steps和tips.按照科学的循序渐进的方式记录:如何使用私有库如何更新私有库如何创建私有库如何创建私有仓库如何使用私有库steps添加私有仓库原创 2016-03-22 18:52:58 · 7531 阅读 · 4 评论 -
iOS 用宏在category里给对象添加属性
奇技淫巧 指过于奇巧而无益的技艺与制品. 转载请注明出处 http://blog.csdn.net/uxyheaven/article/details/46391771众所周知,一般的情况下我们是没办法在category里加属性的, 如果想加呢,需要用到Associated原创 2015-07-07 14:30:45 · 5590 阅读 · 3 评论 -
iOS 底层强行调用高层接口
有的时候底层就是想知道高层,别纠结什么时候,这个主题下的文章注定都是这个德行的.我们又不想把a传给b.那么有办法的到a么原创 2015-03-24 21:17:28 · 2548 阅读 · 0 评论 -
iOS 用类别给类加属性以及原理
oc在类别里给类加属性以及原理如何在类别里给类加属性呢,有鸭子模样的我们就认为他是鸭子了.@interface NSObject (XY)@property (nonatomic, strong) id tempObject;@end@implementation NSObject (XY)@dynamic tempObject;- (id)tempObject-原创 2015-02-05 18:50:25 · 10869 阅读 · 1 评论 -
iOS中条件语句的优化
条件语句的优化要求判断一个NSArray有值,严谨的写法是原创 2015-08-19 15:06:36 · 7101 阅读 · 3 评论 -
条件语句的优化(旧)
本文会不定期更新要求判断一个NSArray有值,严谨的写法是 NSString *object = @""; if (object && [object isKindOfClass:[NSArray class]] && ((NSArray *)object).count > 0) { NSLogDD }先判断这个obje原创 2013-12-30 20:50:01 · 1834 阅读 · 0 评论 -
iOS 下的 AOP 编程
在软件业,AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,是函数式编程的一种衍生范型。通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。主要的功能是:日志记录,性能统计,安全控制,事务处理,异常处理等等。主要的意图是:将日志记录,性能统计,安全控制,事务处理,异常处理等代码从业务逻辑代码中划分出来,通过对这些行为的分离,我们希望可以将它们独立到非指导业务逻辑的方法中,进而改变这些行为的时候不影响业务逻辑的代码。原创 2014-10-28 17:41:02 · 5963 阅读 · 2 评论 -
通过通过url routing解决UIViewController跳转依赖
XYRouterhttps://github.com/uxyheaven/XYRouter XYRouter是一个通过url routing来解决UIViewController跳转依赖的类. * 本类采用ARCInstallation本库基于ARC拷贝XYQuick到项目里在需要用的文件或者pch里 #import "XYRouter.h"Podfilepod 'XYRouter'#i原创 2015-08-18 14:28:47 · 2784 阅读 · 1 评论 -
iOS DLNA编程
## iOS DLNA编程近期实现了iOS下的DLNA,发现ios下的DLNA编程资料很少,其实DLNA文档还好 (28m) ,但是真的确定要看文档自己去实现么?下面先介绍一下DLNA的基本概念,已经有概念的同学可以跳过,直接看iOS下的DLNA库原创 2014-12-12 20:22:44 · 10008 阅读 · 30 评论 -
samurai-native 学习笔记--samurai中的宏魔法(待更新)
samurai中的宏魔法文件 Samurai_Predefine.h Samurai里的一些预设宏// 这3个宏是在定义属性 @prop_assign( NSInteger, page IN)的时候标记这个数据流的方向时用的.#define IN#define OUT#define INOUT// 函数属性限定符: __attribute__((unused)) 这个限定符属性禁止编译器在原创 2015-04-13 13:42:35 · 2302 阅读 · 1 评论 -
在Debug模式下中断, 在Release模式下跳出当前函数的断言
在Debug模式下中断, 在Release模式下返回的断言#define UXY_ASSERT_RETURN_ON_RELEASE( __condition, __desc, ... ) \ metamacro_if_eq(0, metamacro_argcount(__VA_ARGS__)) \ (UXY_ASSERT_1(__condition, __desc,原创 2015-07-02 16:13:09 · 2379 阅读 · 1 评论 -
基于友盟的用户分析模块的设计
移动应用开发中基本都要用到用户分析,大部分的应用选择的友盟统计,我们也不例(其实不是没有内部的统计,是实在是人手不足,做的没人家好用啊).这篇文章题主就来分享下自己是如何封装的统计模块.业务需求业务需求经过抽象后,基本可以分为两层ui层点击业务层开始完成失败(默认带失败原因)我们的一个上报信息就由模块名 + 页面名 + 事件名字 + 事件类型 +事件子类型原创 2015-05-20 17:06:19 · 2968 阅读 · 0 评论 -
samurai-native 学习笔记--samurai的启动过程(待完善)
Samurai的入口点在Samurai这个类,在load方法里实例化了Samurai1.1 SamuraiServiceLoader 安装服务 installServices loadedClassNames 返回所有的类subClasses 得到自己的子类初始化 服务给实现了ManagedService协议的服务 发送powerOn消息给服务发送install消息samurai目前有原创 2015-04-13 12:48:57 · 3225 阅读 · 1 评论 -
samurai-native 学习笔记--samurai中的单元测试
囧么说好呢,大神就是任性,自己写了个单元测试类,我们来看看吧使用// ----------------------------------// Unit test// ----------------------------------#pragma mark -TEST_CASE( Core, NSDictionary_Extension ){ NSDictionary * _te原创 2015-05-10 18:58:13 · 1715 阅读 · 1 评论 -
iOS 用Runtime解决服务器返回NSNull问题
iOS 奇技yin巧–解决服务器返回NSNull问题奇技yin巧 指过于奇巧而无益的技艺与制品. 转载请注明出处 http://blog.csdn.net/uxyheaven/article/details/46789065系列文章请看http://blog.csdn.net/uxyheaven/article/category/5800569问题描述众所周知,服务器返回的数据时不时的就不靠谱一下{原创 2015-09-08 22:38:13 · 8547 阅读 · 2 评论 -
iOS 让对象伪装成一个字典
奇技yin巧 指过于奇巧而无益的技艺与制品. 转载请注明出处 uxyheaven csdn博客 其实这个技巧特定情况下,要求不高还挺是有用的.我们原本有个接口1,设计的….,为了灵活性嘛,就用了字典- (void)method1:(NSDictionary *)dic{ NSString *name = dic[@"name"]; NSLog(@"%s, name: %@",__F原创 2015-04-29 00:11:33 · 3183 阅读 · 0 评论 -
iOS 实例方法混淆
奇技yin巧 指过于奇巧而无益的技艺与制品. IMS指的是 Instance Method Swizzling, 实例方法混淆. 我们先来看普通的Method Swizzling原创 2015-03-14 23:22:23 · 3079 阅读 · 1 评论 -
iOS 统一编码风格的四种有效办法
iOS 统一编码风格的四种有效办法转载请注明出处,晓月的博客:(http://blog.csdn.net/uxyheaven/article/details/51094087)我们团队中有二十个人, 大神们都有自己的编程习惯, 而新手们呢还没有自己的风格, 还有些如我本人不同时期的风格不一样, 这导致了我们的代码有n种风格. 有的团队觉得每个人自己的风格统一了就好, 不能要求人人都死扣一些小细节;原创 2016-04-12 09:03:58 · 4814 阅读 · 1 评论 -
用OCLint给iOS代码做静态分析
对iOS代码做代码静态分析的工具有OCLint, 这篇帖子说的就是如何使用这个工具. 转载请注明出处,晓月的博客:(http://blog.csdn.net/uxyheaven/article/details/50818107)什么是OCLint最好的介绍当然首选官方文档, 以下的说明摘选自官方文档:OCLint是一个代码静态分析描工具原创 2016-03-07 11:30:08 · 16389 阅读 · 12 评论 -
OC中的面向对象编程思想<一>
Objective-C 常写作Objc或者OC. 它的流行归功于Iphone的成功。编写iPhone应用程序主要编程语言就是Objective—C(2014年6月的时候,apple为了新商业战略,吸引更多的开发者入门,推出了Swift。)Objective-C语言是一种简单的基于当下先进的面向对象的一种计算机语言。它作为标准的ANSI C语言的扩展,轻量但很强大。原创 2015-12-04 14:20:18 · 6489 阅读 · 4 评论 -
iOS中的delegate的用法和规范
Objective-C中的delegatedelegate是Objective-C编写的应用中各种对象之间互相调用的主要方式之一. 通常情况下, 对象可以接收的消息都通过在接口文件中声明的方法来表示.@protocol MyProtocol <NSObject>- (void)func;@end什么是delegatedelegate是委托模式.委托模式是将一件属于委托者做的事情,交给另外一个被委原创 2015-09-07 09:56:34 · 31025 阅读 · 1 评论 -
@protocol的一个小细节
@protocol的一个小细节前不久重构一个类, 用protocol做了一些特别的事情, 结果被坑了. 先不说怎么被坑, 我们来一段代码, 大伙猜猜结果是啥?@protocol ProtocolA <NSObject> @end@protocol ProtocolB <NSObject> @end@interface ClassB : NSObject <ProtocolB> @end@pro原创 2015-12-09 21:28:46 · 2867 阅读 · 2 评论 -
高效的把NSMutableArray变成NSArray
高效的把NSMutableArray变成NSArray我们在方法内部可能会用NSMutableArray,但是返回的时候希望其他人不去改我们的Array原创 2015-01-07 01:02:39 · 6904 阅读 · 8 评论 -
iOS ARC内存管理总结
特酷吧[tekuba.net]采用"署名-非商业用途-保持一致"的创作共用协议,使用本文内容请遵循该协议。博主在现在的公司已经两年了,现在正考虑着换工作。趁着这个机会,准备把一些基础的iOS知识系统的整理下,这一篇就来说说iOS内存管理方面的,主要是ARC环境。后面可以看到,虽然ARC在本质上也是采用了引用计数的概念,但作为开发者来讲,ARC环境基本上很少考虑非ARC环境中的复杂的引用计数关系转载 2015-03-02 13:38:52 · 1878 阅读 · 0 评论 -
iOS 精益编程
iOS 精益编程开场今天, 我们将从一个小功能开始, 先去不假思索的实现它Product Repository: Filtering OperationCode start有一个产品库, 我们要对它做过滤操作.第一个需求并不复杂.需求1:在仓库中查找所有颜色为红色的产品First Attempt: Hard Code我们先用最简单的方式去实现它, 硬编码- (NSArray *)findAl原创 2015-10-18 10:46:23 · 13403 阅读 · 16 评论 -
Objective-C method及相关方法分析
method及相关方法分析转载请注名出处 http://blog.csdn.net/uxyheaven本篇文章将探究一下objc里的关于方法的函数是如何实现的首先看下方法的定义, Method 是一个objc_method结构体原创 2014-10-21 20:41:50 · 13170 阅读 · 4 评论 -
iOS Xcode制作模板类
iOS Xcode制作模板类转载请注明出处http://blog.csdn.net/uxyheaven/article/details/48419963为什么要定义模板类遵守代码规范可以提高代码可读性, 降低后期维护成本. 当我们定下了一个团队都认同的代码规范, 如我们要求所有的viewController的代码都得按照下面来组织:#pragma mark - def#pragma mark -原创 2015-09-13 20:33:10 · 8810 阅读 · 0 评论 -
iOS 用汉语写代码
奇技yin 指过于奇巧而无益的技艺与制品. 转载请注明出处 http://blog.csdn.net/uxyheaven/article/details/45350159我们可以用宏定义基本的运算符和类型#define 加 +#define 减 -#define 乘 *#define 除 /#define 大于 >#define 小于 <#define 对比 ==#define 等原创 2015-06-06 21:47:34 · 3485 阅读 · 5 评论 -
iOS小技巧--用runtime 解决UIButton 重复点击问题
iOS小技巧–用runtime 解决UIButton 重复点击问题什么是这个问题我们的按钮是点击一次响应一次, 即使频繁的点击也不会出问题, 可是某些场景下还偏偏就是会出问题. 通常是如何解决我们通常会在按钮点击的时候设置这个按钮不可点击. 等待0.xS的延时后,在设置回来; 或者在操作结束的时候设置可以点击.- (IBAction)clickBtn1:(UIbutton *)sender{原创 2015-08-26 20:05:27 · 16066 阅读 · 27 评论 -
iOS 定义名为任意的变量
我们可以用typeof关键字来定义一个id类型的变量// typeof(int) a; // Specifies variable a which is of the type int __typeof (NSString *) id = @"a";NSLog(@"%@", id);原创 2015-03-12 19:56:17 · 4565 阅读 · 0 评论 -
iOS delegate挂钩
Objective-C 奇巧淫技–delegate挂钩奇技淫巧 指过于奇巧而无益的技艺与制品.需求说明在实际的编程过程中,我们总要定制一些控件,在定制的过程里,有时喜欢自己实现部分delegate方法// MYScrollView.m- (instancetype)init{ ... self.delegae = self; ...}- (void)scrollViewD原创 2015-03-14 18:25:06 · 4168 阅读 · 2 评论 -
从iOS手雷出发-总结iOS多设备UI适配规范方案
iOS5.0于本周提交App Store,这两天iOS手雷成员各自都在总结。如果你仅仅认为首页/搜索改版是主要需求,那你就错了,其实iPhone6、iPhone6Plues的适配才是重点。随着苹果发布iPhone6、iPhone6Plues,过去只属于Android设备的移动App多种设备尺寸适配问题,iOS的适配问题终于还是来了。研发GG表示蛋疼。。。(根本是库克没调研清楚,小道消息说i原创 2015-04-07 14:25:12 · 5059 阅读 · 4 评论 -
程序员教你如何用代码创建一个 女朋友
马上就要回家过年了,身为伟大的程序员,过年怎么能不带个妹子回家呢,没有妹子的怎么办?没关系,我们new一个贝diaosi说从来没有过妹子,不知道妹子类是什么.没关系,我们自己造屌丝说这样还不够彻底.没关系,我们自己new一个类出来如果想带女神回去怎办?没关系,我们可以挖墙角原创 2014-01-13 16:47:09 · 13816 阅读 · 6 评论 -
XCode6.3开新工程问题
XCode版本变化会带来一些问题,老项目直接升级还好,新开项目会遇到一些问题, 这个帖子记录一些遇到的问题.Xcode6中去掉了pch文件 pch是预编译文件,我们的一些头文件导入会写到这里如Foundation.h,如果你项目里有的文件没写没有的话,基本就挂了,需要手动写一边. 如果你想有pch需要在building setting中的precompile header设置下路径$(SRC原创 2015-04-18 15:15:42 · 6578 阅读 · 1 评论 -
降低UIViewController切换的耦合
我们一般切换UIViewController的时候用的是如下代码#import "UIViewControllerDemo.h"UIViewControllerDemo *vc = [UIViewControllerDemo alloc] initWithNibName:nil bundle:nil] autorelease];[self.navigationController pushViewController:vc animated:YES];原创 2014-04-27 17:12:01 · 4846 阅读 · 0 评论 -
移动互联网app业务逻辑图
移动互联网app业务逻辑图原创 2013-11-05 00:25:23 · 9852 阅读 · 0 评论 -
ios开发-获取手机相关信息
今天在做客户端的时候,里面有个意见反馈功能。调用系统带的邮件功能,发送邮件到指定邮箱。然后我就想,应该在邮件正文部分添加手机相关内容,比如型号,版本,应用程序的版本等等,这样不仅使用者方便,开发者也能更好的分析。于是,学习了相关的知识,在这里与大家分享。iOS的APP的应用开发的过程中,有时为了bug跟踪或者获取用反馈的需要自动收集用户设备、系统信息、应转载 2014-07-27 09:39:20 · 13727 阅读 · 0 评论 -
iOS开发- 蓝牙后台接收数据(BLE4.0)
最近在做一个蓝牙相关的项目, 需要在应用进入后台, 或者手机属于锁屏状态的情况下, 仍然保持蓝牙连接, 并且能正常接收数据。本来以后会很麻烦, 但是学习了下..发现就2步而已。简单的不能再简单了。好了。下面是具体实现办法。1.在xxx-info.plist文件中, 新建一行 Required background modes , 加入下面两项。转载 2014-07-27 09:37:08 · 4368 阅读 · 0 评论 -
iOS开发- 获取精确剩余电量
[cpp] view plaincopy[UIDevice currentDevice].batteryMonitoringEnabled = YES; double deviceLevel = [UIDevice currentDevice].batteryLevel; 获取当前剩余电量, 我们通常采用上述方法。这也是苹果官方文档提转载 2014-07-27 09:38:06 · 14167 阅读 · 2 评论 -
简化只执行一次的写法
简化只执行一次的写法原创 2014-04-28 22:21:27 · 3559 阅读 · 1 评论