![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
iOS
文章平均质量分 78
木木少烈
对技术学习极度发烧
展开
-
iOS开发中如何更快的实现汉字转拼音
第一阶段:git开源工具:PinYin4Objc第二阶段:网友推荐方法- (NSString *)transformToPinyin { NSMutableString *mutableString = [NSMutableString stringWithString:self]; CFStringTransform((CFMutableStringRef)mutab转载 2015-06-27 23:27:34 · 1735 阅读 · 0 评论 -
UIActivityViewController的使用
UIActivityViewController的使用原创 2015-10-04 14:35:48 · 1180 阅读 · 0 评论 -
iOS实现语言本地化
iOS实现语言的本地化很简单,这里只是为了简单的记录一下过程。原创 2015-09-13 22:14:39 · 1426 阅读 · 0 评论 -
使用Core Graphics绘画一个山寨微信icon
使用Core Graphics绘画一个山寨微信icon原创 2015-08-26 09:20:40 · 1460 阅读 · 0 评论 -
iOS导入自定义字体
导入字体原创 2015-09-13 22:30:35 · 839 阅读 · 0 评论 -
为iOS创建一个simulator build
创建simulator build 并通过模拟器运行原创 2015-04-04 10:58:16 · 1854 阅读 · 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 · 5480 阅读 · 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 · 717 阅读 · 0 评论 -
iOS唯一标示符引导
在2013年3月21日苹果已经通知开发者,从2013年5月1日起,访问UIDID的应用将不再能通过审核,替代的方案是开发者应该使用“在iOS 6中介绍的Vendor或Advertising标示符”。unique Identifier即将退出,苹果给了我们Vendor和Advertising identifier两个选择,但应该用哪一个?文档并没有给出确切答案,具体使用哪个完全由你根转载 2015-01-14 10:11:07 · 624 阅读 · 0 评论 -
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 · 1029 阅读 · 0 评论 -
iOS版本检测更新
其实检测当前版本是否为最新版本,只需要比较当前 APP版本与APP Store上的版本号是否相同即可。如果相同,说明是最新版本,反之则不是最新版本!那么问题来了。如何获取APP Store 上APP的版本信息?方法很简单:首先,让我们先获取当前APP的版本信息,见代码:#pragma mark-获取当前app版本信息- (NSString *)getCurrentAPPVersion{原创 2014-12-13 11:10:54 · 999 阅读 · 0 评论 -
通过代码获取工程目录下plist文件下的内容
如果是访问info.plist这个文件的话可以直接用下面的语句:[[NSBundle mainBundle] objectForInfoDictionaryKey:key_name];比如获取当前APP的版本号可以如下:NSString*appVersion=[[NSBundle mainBundle] objectForInfoDictionaryKey:@"CF原创 2014-11-15 17:25:42 · 2763 阅读 · 0 评论 -
iOS实现单例
@interface Manager : NSObject+ (Manager*)sharedManager;@end原创 2014-11-12 16:43:37 · 756 阅读 · 0 评论 -
Block的应用---拓展NArray
学习了 Block 之后,觉得它真的原创 2014-08-24 14:19:39 · 763 阅读 · 0 评论 -
MVC模式的升级MOVE
MVC模式在编程中的应用,是一个很了不起的主意。“数据模型(Model)”可以封装与应用程序的业务逻辑相关的数据及对数据的处理方法;“视图层(View)”能够实现数据有目的的显示;“控制器(Controller)”能够在不同层面间起到组织作用,对应用程序的流程进行控制。不过,可能你在使用这种三层架构模式的过程中会逐渐迷惑。因为有很多代码你不知道把它放哪,就只好把它放到控制层,最后发现在控制转载 2014-11-25 20:30:13 · 779 阅读 · 0 评论 -
iOS app打包剔除多余文件
让你的线上代码更干净原创 2017-07-10 22:16:18 · 1617 阅读 · 0 评论 -
UIDebuggingInformationOverlay使用介绍
UIDebuggingInformationOverlay是苹果内部的一个调试工具原创 2017-06-13 20:36:57 · 691 阅读 · 0 评论 -
iconfont 实践及使用优化
iconfont 的实践及使用优化,让storyboard 和 xib 实时显示icon原创 2017-07-24 21:51:22 · 1300 阅读 · 0 评论 -
通过React Native动态更新iOS应用
这篇文章一直拖了快1个多月了,一直都找借口不去完成它。今天终于铁了心了。开始正题。 这是一篇关于 react-native iOS 动态更新的文章。原创 2016-03-23 12:05:26 · 5714 阅读 · 1 评论 -
微信分享开发那点事
移动端开发中微信分享图片的时候,可以说有两种方式:1. 通过imageUrl来设定一个图片的地址分享出去;2. 通过imageData将图片转换成二进制数据(可以通过 UIImageJPEGRepresentation() 或 UIImagePNGRepresentation()) )分享出去。但是有个问题可能很多人会遇到,然后以为解决了问题实际上没解决。当用户通过App分享图片时,如果在开原创 2015-08-04 11:21:41 · 2245 阅读 · 1 评论 -
依赖注入——让iOS代码更简洁
依赖注入可以通过初始化方法(或构造函数)传递所需要的参数,或者通过属性(setter)传递,依赖注入使代码更简洁易读,更容易维护翻译 2015-07-25 16:27:19 · 7767 阅读 · 0 评论 -
UIView中frame, bounds, center三个属性的关系
在UIView中,有三个重要的属性:frame, bounds h原创 2014-09-02 09:38:15 · 1258 阅读 · 0 评论 -
ios键盘通知和自定义键盘
一.键盘通知当文本View(如UITextField,UITextView, UIWebView内的输入框)进入编辑模式成为first responder时,系统会自动显示键盘。成为firstresponder可能由用户点击触发,也可向文本View发送becomeFirstResponder消息触发。当文本视图退出first responder时,键盘会消失。文本View退出fir转载 2014-11-06 19:02:13 · 1511 阅读 · 0 评论 -
project.pbxproj,最熟悉的”陌生人”
作为iOS开发人员,pbxproj文件对于我们来说即熟悉又陌生,熟悉到我们每天都得见面。而除了偶尔遇到的合并冲突,其余时候我们甚至忘记了它的存在。当然,并不是说它不重要,相反,pbxproj文件保存了项目的所有配置关联信息pbxproj文件主要包含了以下几项主要信息工程文件关联信息,如PBXBuildFile、PBXFileReference组织结构分类信息,如PBXGro转载 2015-07-04 20:18:51 · 646 阅读 · 0 评论 -
正确使用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 · 617 阅读 · 0 评论 -
NSDictionary实现原理
NSDictionary(字典)是使用 hash表来实现key和value之间的映射和存储的, hash函数设计的好坏影响着数据的查找访问效率。数据在hash表中分布的越均匀,其访问效率越高。而在Objective-C中,通常都是利用NSString 来作为键值,其内部使用的hash函数也是通过使用 NSString对象作为键值来保证数据的各个节点在hash表中均匀分布。原创 2014-11-26 09:14:07 · 11233 阅读 · 2 评论 -
Objective-C Method Swizzling
Objective-C 中的 Method Swizzling 是一种可以在程序运行时,修改方法调用的技术。是 OC 作为动态语言的典型证明。Method Swizzling 是 OC 类库提供的“黑魔法”之一。例子以替换 NSArray 的 lastObject 方法为例:在 NSArray 中添加需要替换 lastObject 的方法 – xxx_last转载 2014-11-13 17:44:57 · 633 阅读 · 0 评论 -
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 · 764 阅读 · 0 评论 -
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 · 807 阅读 · 0 评论 -
GCD 深入理解(一)
本文由@nixzhu翻译至raywenderlich的《grand-central-dispatch-in-depth-part-1》虽然 GCD 已经出现过一段时间了,但不是每个人都明了其主要内容。这是可以理解的;并发一直很棘手,而 GCD 是基于 C 的 API ,它们就像一组尖锐的棱角戳进 Objective-C 的平滑世界。我们将分两个部分的教程来深入学习 GCD 。 在这两部转载 2014-10-31 01:17:04 · 747 阅读 · 0 评论 -
微信分享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 · 1329 阅读 · 0 评论 -
代码块(Block)的使用
一、Block简介Block:即块语法,本质上是匿名函数(没有名称的函数),标准C⾥⾯没有Block,C语⾔的后期扩展版本,加⼊了匿名函数。C++、JS、Swift等语⾔,有类似语法,叫做闭包。原创 2014-08-20 22:25:42 · 984 阅读 · 0 评论 -
Objective-C Copy语法
copy 语法原创 2014-08-26 21:50:29 · 1062 阅读 · 0 评论 -
Objective-C 实现变参方法
OC的学习中,在学了一段时间的UI后,发现每次在添加控件到主视图中时都要 [addSubview:aView]; [aView release] ; 如果一个界面中有好多的子视图要添加就显得很麻烦了。于是想到之前在C中学习的变参函数。而在 OC 中我们也经常会用到,比如在初始化数组或字典的时候有 + (id)arrayWithObjects:(id)firstObj, … 于是原创 2014-09-14 23:44:29 · 1285 阅读 · 0 评论 -
程序崩溃---autorelease异常
1. 在自己实现 便利构造器 时导致每次执行程序都产生空指针异常。代码和原因如下:+ (UILabel*)labelWithFrame:(CGRect)frame andText:(NSString*)text{ UILabel *label = [[UILabel alloc] initWithFrame:frame]; label.text = text; ret原创 2014-09-14 23:51:54 · 795 阅读 · 0 评论 -
MRC下的 initWithFormat: 和 stringWithFormat:
Both of these methods work equally well. You just have to know how to use them properly. "initWithFormat" is an instance method that should be applied to a newly alloc-ed instance of NSString, which原创 2014-09-14 22:34:41 · 1298 阅读 · 0 评论 -
类的拓展——分类(Category)
简介Category也叫分类或类⺫⽬目主要作⽤用是为 没有源代码 的类添加⽅方法。通过Category添加的⽅方法会成为原类的⼀一部分。从⽽而达到扩展⼀一个类的功能。原创 2014-08-22 21:43:52 · 730 阅读 · 0 评论 -
Xcode 自定义文件头部注释说明
背景 不知道你有没有在使用 Xcode 创建文件时觉得文件头部的注释说明不想要或者不是自己喜欢的样式,如果你有这个痛点,那就继续阅读下去哈,本文将让你自定义文件头部注释说明,告别每次创建文件都手动修改注释的痛。 说明: 这是 Xcode9 的一个新特性之一步骤说明Xcode9(目前是beta)的发布,让开发者可以自定义文本宏。步骤也是极其简单。 1. 创建文件名为: IDET...原创 2018-07-17 16:07:55 · 4086 阅读 · 0 评论