在非Retina的iPad mini的屏幕上,一个UILabel的frame的origin值如果有小数位数(例如,0.5),就会造成显示模糊.所以最好用整数值的origin坐标. 参考资料: <iOS开发进阶> -唐巧…
[译] 几点 iOS 开发技巧 原文:iOS Programming Architecture and Design Guidelines 原文来自破船的分享 原文作者是开发界中知晓度相当高的 Mugunth Kumar,他是 MKNetworkKit 的作者(虽然没有 AFNetworking 使用那么广泛,但也是一个很棒的 Network Kit),更是最近流传甚广的<iOS 5/6 Programming – Pushing The Limits>的作者. 文章中 MK 介绍了几点开发中…
KVC(Key-value coding)键值编码,单看这个名字可能不太好理解.其实翻译一下就很简单了,就是指iOS的开发中,可以允许开发者通过Key名直接访问对象的属性,或者给对象的属性赋值.而不需要调用明确的存取方法.这样就可以在运行时动态在访问和修改对象的属性.而不是在编译时确定,这也是iOS开发中的黑魔法之一.很多高级的iOS开发技巧都是基于KVC实现的.目前网上关于KVC的文章在非常多,有的只是简单地说了下用法,有的讲得深入但是在使用场景和最佳实践没有说明,我写下这遍文章就是给大家详解…
IOS开发数据库篇—SQLite模糊查询 一.示例 说明:本文简单示例了SQLite的模糊查询 1.新建一个继承自NSObject的模型 该类中的代码: // // YYPerson.h // 03-模糊查询 // // Created by apple on 14-7-27. // Copyright (c) 2014年 wendingding. All rights reserved. // #import <Foundation/Foundation.h> @interface YYPe…
转自I'm Allen的博客   原文:iOS Programming Architecture and Design Guidelines   原文来自破船的分享   原文作者是开发界中知晓度相当高的 Mugunth Kumar,他是 MKNetworkKit 的作者(虽然没有 AFNetworking 使用那么广泛,但也是一个很棒的 Network Kit),更是最近流传甚广的<iOS 5/6 Programming - Pushing The Limits>的作者.   文章中 MK 介…
一.寻找最近公共View 我们将一个路径中的所有点先放进 NSSet 中.因为 NSSet 的内部实现是一个 hash 表,所以查找元素的时间复杂度变成了 O(1),我们一共有 N 个节点,所以总时间复杂度优化到了 O(N). + (UIView *)commonView_2:(UIView *)viewA andView:(UIView *)viewB {    NSArray *arr1 = [self superViews:viewA];    NSArray *arr2 = [self…
UIAlertView是iOS开发过程中最常用的控件之一,是提醒用户做出选择最主要的工具.在iOS8及后来的系统中,苹果更推荐使用UIAlertController来代替UIAlertView.所以本文也并不提倡开发者再使用UIAlertView,本文的目的是探讨如何将原来的给变量赋值和通过Delete来回调的方式变成链式编程风格和通过Block来回调.通过学习对UIAlertView的改造让各位iOS开发者能够学会这种更加便捷的开发方式   什么是链式编程 对于有一定开发经验的开发者来说,链式…
如果你是一位开发人员在开发过程中会发现有些代码无论是在同一个工程中还是在不同工程中使用率会很高,有经验的人会直接封装在一个类里,或者写成一个宏定义或者把这些代码收集起来,下次直接使用,或者放到xcode的代码片库里,直接使用, 从而提高开发效率: 1. 将常用代码片段封装成一个类里 当一个代码片在一个或多个工程之中经常出现时,把他封装在一个类里面,在使用时候直接传参即可实现对于功能,或者直接把这类放到另一个工程中同样使用: 使用UIAlertView举例 创建一个XF_UIKit类,对于声明文件…
0. 背景: 在iOS开发中,Auto Layout(自动布局)能解决大部分的屏幕适配问题. 但是当iPhone 6和iPhone 6 Plus发布以后, Auto Layout已经不能解决复杂的屏幕适配问题了, 因此, 在iOS 8以后苹果推出了Size Class, 它是基于Auto Layout技术的. 1. Size Class的开启和使用 与Auto Layout不同, Size Class不能通过代码编程管理,只能通过IB(Interface Builder)使用. 默认情况下Sto…
在非retina的ipad mini的屏幕上,一个UIlabel的frame的origin值如果有小数位数(例如0.5),就会造成显示模糊,所以最好使用整数的值作为origin坐标.…