自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(73)
  • 问答 (1)
  • 收藏
  • 关注

原创 读《代码整洁之道》

借部门的一次读书会上,我挑选了 Bob大叔的《代码整洁之道》这本书。在读了这本书的前面几章节时就觉得感触极大,今天刚好读完,希望下面我的感受也能帮到想成为专业程序员的你。什么是专业程序员专业程序员并不好当。 作为一个专业程序员,最重要的一条是坚守原则,为自己的承诺负责。如何坚守?在面对外界(项目经理,产品经理,客户等)强制的要求时,应该用自己专业的知识去衡量问题的可行性,而不是轻...

2018-07-17 16:11:36 524

原创 Xcode 自定义文件头部注释说明

背景 不知道你有没有在使用 Xcode 创建文件时觉得文件头部的注释说明不想要或者不是自己喜欢的样式,如果你有这个痛点,那就继续阅读下去哈,本文将让你自定义文件头部注释说明,告别每次创建文件都手动修改注释的痛。 说明: 这是 Xcode9 的一个新特性之一步骤说明Xcode9(目前是beta)的发布,让开发者可以自定义文本宏。步骤也是极其简单。 1. 创建文件名为: IDET...

2018-07-17 16:07:55 4043

原创 iconfont 实践及使用优化

iconfont 的实践及使用优化,让storyboard 和 xib 实时显示icon

2017-07-24 21:51:22 1258

原创 iOS app打包剔除多余文件

让你的线上代码更干净

2017-07-10 22:16:18 1575

原创 UIDebuggingInformationOverlay使用介绍

UIDebuggingInformationOverlay是苹果内部的一个调试工具

2017-06-13 20:36:57 677

原创 flow的简单使用

Flow 是 Facebook 旗下一个为 JavaScript 进行静态类型检测的检测工具。它可以在 JavaScript 的项目中用来捕获常见的 bugs,比如隐式类型转换,空引用等等。

2016-03-30 23:17:06 1289

原创 React Native环境搭建

开发前第一件事无非就是先搭建开发环境,React Native的开发环境搭建在官方文档上已经介绍的很详细了,所以下面简单的介绍一下整个过程。

2016-03-30 23:15:03 603

原创 通过React Native动态更新iOS应用

这篇文章一直拖了快1个多月了,一直都找借口不去完成它。今天终于铁了心了。开始正题。 这是一篇关于 react-native iOS 动态更新的文章。

2016-03-23 12:05:26 5692 1

原创 React-Native频繁修改IP,烦吗

react-native动态设置IP,省去频繁步骤

2015-12-26 20:43:34 3505 1

原创 UIActivityViewController的使用

UIActivityViewController的使用

2015-10-04 14:35:48 1152

原创 iOS导入自定义字体

导入字体

2015-09-13 22:30:35 833

原创 iOS实现语言本地化

iOS实现语言的本地化很简单,这里只是为了简单的记录一下过程。

2015-09-13 22:14:39 1412

原创 使用Core Graphics绘画一个山寨微信icon

使用Core Graphics绘画一个山寨微信icon

2015-08-26 09:20:40 1445

原创 微信分享SDK导入报错 Undefined symbols for architecture i386:

导入微信分享SDK时,出现以下的错误信息: Undefined symbols for architecture i386: “operator delete“, referenced from: +[WeChatApiUtil EncodeBase64:] in libWeChatSDK.a(WeChatApiUtil.o) +[WeChatApiUtil Ns

2015-08-21 23:19:59 1327

原创 微信分享开发那点事

移动端开发中微信分享图片的时候,可以说有两种方式:1. 通过imageUrl来设定一个图片的地址分享出去;2. 通过imageData将图片转换成二进制数据(可以通过 UIImageJPEGRepresentation() 或 UIImagePNGRepresentation()) )分享出去。但是有个问题可能很多人会遇到,然后以为解决了问题实际上没解决。当用户通过App分享图片时,如果在开

2015-08-04 11:21:41 2232 1

翻译 依赖注入——让iOS代码更简洁

依赖注入可以通过初始化方法(或构造函数)传递所需要的参数,或者通过属性(setter)传递,依赖注入使代码更简洁易读,更容易维护

2015-07-25 16:27:19 7728

原创 解决Xcode编译 malformed or corrupted AST file: 'Unable to load module "错误

今天用Xcode编译之前的程序 出现malformed or corrupted AST file: 'Unable to load module ..." 的错误。解决方法:  Xcode菜单栏选择 Window -->  Projects , 然后点击“delete”删除出错的target即可。如图:

2015-07-12 16:44:31 1674

转载 project.pbxproj,最熟悉的”陌生人”

作为iOS开发人员,pbxproj文件对于我们来说即熟悉又陌生,熟悉到我们每天都得见面。而除了偶尔遇到的合并冲突,其余时候我们甚至忘记了它的存在。当然,并不是说它不重要,相反,pbxproj文件保存了项目的所有配置关联信息pbxproj文件主要包含了以下几项主要信息工程文件关联信息,如PBXBuildFile、PBXFileReference组织结构分类信息,如PBXGro

2015-07-04 20:18:51 628

转载 iOS开发中如何更快的实现汉字转拼音

第一阶段:git开源工具:PinYin4Objc第二阶段:网友推荐方法- (NSString *)transformToPinyin { NSMutableString *mutableString = [NSMutableString stringWithString:self]; CFStringTransform((CFMutableStringRef)mutab

2015-06-27 23:27:34 1725

转载 warning: skipping copy phase strip, binary is code signed: .....

warning: skipping copy phase strip, binary is code signed: .....The solution would be to go to the build settings of your application target (not the help tool target) and set "Strip Debug Symbo

2015-04-05 12:33:26 2460

转载 ERROR ITMS-90032 : "Invalid Image Path - No image found at the path referenced under key 'CFBundleIc

ERROR ITMS-90032 : “Invalid Image Path - No image found at the path referenced under key ‘CFBundleIcons’: ‘AppIcon120x120’”

2015-04-04 11:18:03 12918

原创 为iOS创建一个simulator build

创建simulator build 并通过模拟器运行

2015-04-04 10:58:16 1833 1

原创 iOS实现绘画文字动画

通过Core Text 结合 Bezier 曲线和 CAShapeLayer 可以做出绘画文字的动画。如下代码:CGMutablePathRef letters = CGPathCreateMutable(); //创建path CTFontRef font = CTFontCreateWithName(CFSTR("Helvetica-Bold"), 100.0f, N

2015-03-24 17:43:05 5435 1

原创 读 Animations Explained 笔记

1. 当给layer添加animations时,是不会直接修改其属性值的。2. Core Animation维护两个平行的layer层次结构:分别时:model layer tree(模态层树)和presentation layer tree(表示层树)。注:实际上还有第三层树,称为:rendering tree(渲染树),它对Core Animation来说是私有的 。3. 通过 -

2015-03-24 15:14:00 709

原创 libc++abi.dylib handler threw exception错误处理

在iOS开发中,遇到 libc++abi.dylib handler threw exception这样的错误。系统抛出异常,说明我们写的代码有问题。在main方法中添加异常的捕获,如下:int main(int argc, char * argv[]) { @autoreleasepool { @try { return UIApplica

2015-03-06 23:13:35 659

转载 iOS唯一标示符引导

在2013年3月21日苹果已经通知开发者,从2013年5月1日起,访问UIDID的应用将不再能通过审核,替代的方案是开发者应该使用“在iOS 6中介绍的Vendor或Advertising标示符”。unique Identifier即将退出,苹果给了我们Vendor和Advertising identifier两个选择,但应该用哪一个?文档并没有给出确切答案,具体使用哪个完全由你根

2015-01-14 10:11:07 607

原创 CocoaPods 安装和使用

一、CocosPods的安装1. 检测是否已有 Ruby 环境    $ ruby -v2. 若已有,则转 3 。没有则安装:http://zeusyu.com/blog/change-computer.htmlhttps://ruby-china.org/wiki/install_ruby_guide3. 可以用 $ sudo gem

2014-12-26 20:18:44 1019

转载 正确使用Block避免Cycle Retain和Crash

Block简介Block作为C语言的扩展,并不是高新技术,和其他语言的闭包或lambda表达式是一回事。需要注意的是由于Objective-C在iOS中不支持GC机制,使用Block必须自己管理内存,而内存管理正是使用Block坑最多的地方,错误的内存管理 要么导致return cycle内存泄漏要么内存被提前释放导致crash。 Block的使用很像函数指针,不过与函数最大的不同是:Bl

2014-12-20 13:52:47 603

转载 iOS Sqlite数据库增删改查基本操作

研究了几天的数据库,终于把它给搞出来了。Sqlite是ios上最常用的数据库之一,大家还是有必要了解一下的。这是仿照网上的一个例子做的,有些部分写的不好,我稍作了修改,以讲解为主,主要让大家能够明白如何修改,明白原理,达到举一反三的目的。先来看看效果图先来看看数据库方法类,将各个操作都封装在一个类里面,达到代码重用的目的,这是程序员都应该努力去实现的目标,这样在

2014-12-20 13:27:57 1362

原创 iOS版本检测更新

其实检测当前版本是否为最新版本,只需要比较当前 APP版本与APP Store上的版本号是否相同即可。如果相同,说明是最新版本,反之则不是最新版本!那么问题来了。如何获取APP Store 上APP的版本信息?方法很简单:首先,让我们先获取当前APP的版本信息,见代码:#pragma mark-获取当前app版本信息- (NSString *)getCurrentAPPVersion{

2014-12-13 11:10:54 986

转载 iOS 开发者必知的 75 个工具(译文)

原文地址:http://benscheirman.com/2013/08/the-ios-developers-toolbelt (需翻墙) 如果你去到一位熟练的木匠的工作室,你总是能发现他/她有一堆工具来完成不同的任务。 软件开发同样如此。你可以从软件开发者如何使用工具中看出他水准如何。有经验的开发者精于使用工具。对你目前所使用的工具不断研究,同时了解一些替代品的

2014-12-05 14:24:26 738

原创 NSDictionary实现原理

        NSDictionary(字典)是使用 hash表来实现key和value之间的映射和存储的, hash函数设计的好坏影响着数据的查找访问效率。数据在hash表中分布的越均匀,其访问效率越高。而在Objective-C中,通常都是利用NSString 来作为键值,其内部使用的hash函数也是通过使用 NSString对象作为键值来保证数据的各个节点在hash表中均匀分布。

2014-11-26 09:14:07 11197 2

转载 MVC模式的升级MOVE

MVC模式在编程中的应用,是一个很了不起的主意。“数据模型(Model)”可以封装与应用程序的业务逻辑相关的数据及对数据的处理方法;“视图层(View)”能够实现数据有目的的显示;“控制器(Controller)”能够在不同层面间起到组织作用,对应用程序的流程进行控制。不过,可能你在使用这种三层架构模式的过程中会逐渐迷惑。因为有很多代码你不知道把它放哪,就只好把它放到控制层,最后发现在控制

2014-11-25 20:30:13 771

原创 swift运算符重载

首先我们定义一个结构体当 Point 的两个变量相加时,我们需要这样做:let p1 =Point(x:1.0, y:2.0)let p2 =Point(x:4.0, y:3.0)let p3 =Point(x:p1.x + p2.x, y: p1.y + p2.y)如果这样的运算用到多次的话会显得很麻烦,swift提供了类似

2014-11-19 13:32:55 1038

原创 通过代码获取工程目录下plist文件下的内容

如果是访问info.plist这个文件的话可以直接用下面的语句:[[NSBundle mainBundle] objectForInfoDictionaryKey:key_name];比如获取当前APP的版本号可以如下:NSString*appVersion=[[NSBundle mainBundle] objectForInfoDictionaryKey:@"CF

2014-11-15 17:25:42 2753

转载 Objective-C Method Swizzling

Objective-C 中的 Method Swizzling 是一种可以在程序运行时,修改方法调用的技术。是 OC 作为动态语言的典型证明。Method Swizzling 是 OC  类库提供的“黑魔法”之一。例子以替换 NSArray 的 lastObject 方法为例:在 NSArray 中添加需要替换 lastObject 的方法 – xxx_last

2014-11-13 17:44:57 625

转载 Objective-C FAQ 中文版

Objective-C FAQ 中文版Objective-C FAQ编辑:David Stes ( )发表:2003年1月28日翻译者:目录* 目录* 1. 关于本FAQ+ 1.1 我在哪里可以找到本FAQ的最新版本?* 2. Objective-C 编译器指令+ 2.1 Objective-C 源程序的文件后缀是什么?+ 2.2 我

2014-11-13 16:33:04 746

原创 iOS实现单例

@interface Manager : NSObject+ (Manager*)sharedManager;@end

2014-11-12 16:43:37 750

转载 iOS通过http post上传图片

由于iOS无法通过html表单来上传图片,因此想要上传图片,必须实现http请求,而不能像其他语言那样通过html表单的post就能上传。 上传图片的http post请求的格式是这样的: Java代码  Content-type: multipart/form-data, boundary=AaB03x    --AaB03x  content

2014-11-06 22:28:38 798

转载 ios键盘通知和自定义键盘

一.键盘通知当文本View(如UITextField,UITextView, UIWebView内的输入框)进入编辑模式成为first responder时,系统会自动显示键盘。成为firstresponder可能由用户点击触发,也可向文本View发送becomeFirstResponder消息触发。当文本视图退出first responder时,键盘会消失。文本View退出fir

2014-11-06 19:02:13 1495

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除