
iOS开发技巧
默然相爱鱼鱼鱼
这个作者很懒,什么都没留下…
展开
-
iOS 权限提示语_iOS11权限变化,权限都要弹框提示,而且需要说出功能用途
iOS11访问权限列表隐私数据对应key值提示语相册(读)NSPhotoLibraryUsageDescription"XXX"需要您的同意,才能访问相册相册(写)NSPhotoLibraryAddUsageDescription"XXX"需要您的同意,才能添加照片相机NSCameraUsageDescription"XXX"需要您的同意,才能访问相机麦克风NSMicrophoneUsageDescription"XXX"需要您的同意,才能访问麦克风位置NSLocationUsag.原创 2021-12-17 09:14:50 · 2208 阅读 · 0 评论 -
SnapKit/Masonry的使用简介
欢迎大家来学习,交流翻译 2016-01-23 00:18:54 · 1929 阅读 · 0 评论 -
关于iOS内购的一些代码整理分析
//需导入StoreKit.frameowrk 框架#import "ViewController.h"#import @interface ViewController ()SKProductsRequestDelegate,SKPaymentTransactionObserver>@property (nonatomic,strong) NSArra原创 2016-01-25 17:42:34 · 480 阅读 · 0 评论 -
OCruntime交换方法用在处理iOS版本跨度问题的解决
//交换方法用在处理iOS版本跨度问题的解决.本文根据常用的UIImage 和 NSMutableArray简介.#import "UIImage+WCY.h"#import @implementation UIImage (WCY)//使用运行时的方法交互//+ (void)initialize {原创 2016-01-25 17:36:00 · 490 阅读 · 0 评论 -
runtime获取OC内部类隐藏属性
#import "ViewController.h"#import #import "CZPerson.h"#import @interface CZPerson :NSObject@property (nonatomic,copy) NSString *name;@property (nonatomic,assign) NSInte原创 2016-01-25 17:33:43 · 1053 阅读 · 0 评论 -
OS页面间传值的方式
OS页面间传值的方式原创 2016-01-13 10:07:25 · 363 阅读 · 0 评论 -
OC地理编码和反编码
OC 地理编码, CoreLocation原创 2016-01-15 14:33:15 · 566 阅读 · 0 评论 -
NSOperationQueue与GCD的使用原则和场景
首先,我们要明确NSOperationQueue与GCD之间的关系NSOpertaionQueue用GCD构建封装的,是GCD的高级抽象。其次,我们要区别两者的不同GCD仅仅支持FIFO队列,而NSOperationQueue中的队列可以被重新设置优先级,从而实现不同操作的执行顺序调整。GCD不支持异步操作之间的依赖关系设置。如果某个操作的依赖另一个操作的数据(生产者-转载 2016-03-03 08:56:52 · 336 阅读 · 0 评论 -
OSX下的弹窗视图NSAlert应用
NSAlert用于弹出一个确认对话框,在程序中被广泛地使用。常见的场景是用户删除数据,会弹出对话框给用户确认,免得用户不小心导致了误操作。NSAlert可以采用Modal Window的方式展示如图:代码如下://采用Modal Window的方式展示- (IBAction)ShowNSAlertWindow:(id)sender{ NSAl原创 2016-03-03 13:03:56 · 2342 阅读 · 0 评论 -
简单理解Socket
题外话前几天和朋友聊天,朋友问我怎么最近不写博客了,一个是因为最近在忙着公司使用的一些控件的开发,浏览器兼容性搞死人;但主要是因为这段时间一直在看html5的东西,看到web socket时觉得很有意思,动手写几个demo,但web socket需要特定的服务器支持,由于标准制定工作还没完成,所以没有多少主流的服务器支持,自己在网上下载了几个实现,包括php的、C#的、甚至Node.js的转载 2016-02-24 16:58:16 · 323 阅读 · 0 评论 -
NSURLConnection与NSURLSession大比拼
http://www.cnblogs.com/WLL-Hero/p/3652633.html转载 2016-02-24 18:36:23 · 647 阅读 · 0 评论 -
Masonry 到底有多美?(下)
作者:伯乐在线 - 小笨狼 链接:http://ios.jobbole.com/83384/key当约束冲突发生的时候,我们经常为找不到是哪个View冲突的而烦恼,这一堆View是个什么东西呀?"<MASLayoutConstraint:0x7f8de483fb10 UIView:0x7f8de2f53870.le转载 2016-02-24 18:42:17 · 1323 阅读 · 0 评论 -
MAC快捷键
版权声明:本文为博主原创文章,未经博主允许不得转载。http://blog.youkuaiyun.com/tfy1332/article/details/230170511. 文件CMD + N: 新文件CMD + SHIFT + N: 新项目CMD + O: 打开CMD + S: 保存CMD + SHIFT + S: 另存为CMD + W: 关闭窗口CMD + SHIFT + W:原创 2016-03-12 21:15:40 · 647 阅读 · 0 评论 -
iOS 开发如果涉及数据和表的持久化,Core Data 比 SQLite 更好吗?
我一直用coreData解决, 我觉得这样效率高,再说coredata也有数据缓存机制. 我不会Sqllite. 感觉纯粹的SQLlite完全被coreData弱化了.这样不妥吗?第一层:这两个东西我都用过,两者都能实现对数据库的操作,功能上需求都能满足。先前在公司实习的时候,原先项目中用的是SQLite,感觉操作很直接。如果先前有一点数据库和SQL基础的话,写起来会感觉很原创 2016-03-14 08:33:10 · 614 阅读 · 0 评论 -
MagicalRecord的使用
文/mokong(简书作者)原文链接:http://www.jianshu.com/p/07cd30f2d1e1著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。创建数据库1. 首先分析清楚自己需要什么我的目的是要缓存信件列表界面,新建列表界面的model就是letter,所以我需要一个Letter的实体(entity),那这个Letter有哪些属性呢?写信转载 2016-03-14 11:22:55 · 992 阅读 · 0 评论 -
Masonry 到底有多美?(上)
作者:伯乐在线 - 小笨狼 链接:http://ios.jobbole.com/83384/Autolayout就像一个知情达理,善解人意的好姑娘,可惜长相有点不堪入目,所以追求者寥寥无几。所幸遇到了化妆大师cloudkite,给她来了一个完美的化妆,从此丑小鸭Autolayout变成了美天鹅Masonry。前几日有幸一见,果然名不虚传,长相甜美,还善解人意。我转载 2016-02-24 18:40:44 · 925 阅读 · 0 评论 -
手把手教导航头像缩放效果
实现原理从效果图可以看到以下几点:向上移动头像会缩小,但是有下限向下移动头像会放大,但是有上限头像的起点y始终不变所以,我们首先要知道如何缩放控件,也就是使用transform来实现。然后每次都需要更新头像的y坐标,以保证y值不变。既然缩小有下限,放大有上限,所以我们应该设置一个最小缩放系数及最大缩放系数。要设置最小/最大缩放系数,我们就需要计算出来,但原创 2016-04-25 18:02:28 · 498 阅读 · 0 评论 -
国内90%以上的 iOS 开发者,对 APNs 的认识都是错的
2016-04-26 06:39 编辑: cocopeng 分类:iOS开发 来源:iOS程序犭袁的简书本文为投稿文章,作者:iOS程序犭袁 (博客)前言:APNs 协议在近两年的 WWDC 上改过两次,2015年12月17日更是推出了革命性的新特性。但在国内传播的博客、面试题里关于APNs的答案全都是旧的、错的。正文:对 APNs 的吐槽APN转载 2016-04-26 09:18:12 · 798 阅读 · 0 评论 -
字典与集合常用总结
1.不可变数据字典(NSDicionary)字典:用来存储具有一一对应关系的数据.一个key 对应一个 value ,key起到了唯一标示的作用,key必须是唯一的,但是一个vlaue可以对应多个key.字典存储的是无序的元素,一对键值对组成了字典中的一个元素.①.不可变字典初始化赋值 //笑笑语法 NSDictionary *dic = @{@"name"原创 2016-04-15 10:21:27 · 546 阅读 · 0 评论 -
IOS文件操作的两种方式:NSFileManager操作和流操作
1、文件的创建 -(IBAction) CreateFile{//对于错误信息NSError *error;// 创建文件管理器NSFileManager *fileMgr = [NSFileManager defaultManager];//指向文件目录NSString *documentsDirectory= [NSHom转载 2016-05-10 14:37:09 · 795 阅读 · 0 评论 -
处理数字加小数点的字符串
版权声明:本文为博主原创文章,未经博主授权不得转载。转载 2016-04-28 11:39:25 · 619 阅读 · 0 评论 -
iOS本地数据存取,看这里就够了
本文授权转载,作者:hosea_zhou(简书)应用沙盒1)每个iOS应用都有自己的应用沙盒(应用沙盒就是文件系统目录),与其他文件系统隔离。应用必须待在自己的沙盒里,其他应用不能访问该沙盒2)应用沙盒的文件系统目录,如下图所示(假设应用的名称叫Layer)应用沙盒的文件系统目录3)应用沙盒结构分析应用程序包:(上图中的Layer)包转载 2016-04-29 08:55:06 · 498 阅读 · 0 评论 -
iOS的AssetsLibrary框架访问所有相片
ALAssetsLibrary类ALAssetsLibrary类可以实现查看相册列表,增加相册,保存图片到相册等功能。例如enumerateGroupsWithTypes方法列举所有相册。ALAssetsGroupALAssetsGroup就是相册的类,可以通过valueForProperty方法查看不同属性的值,如:ALAssetsGroupPropertyN原创 2016-04-29 09:13:34 · 348 阅读 · 0 评论 -
15分钟弄懂 const 和 #define
1. 什么是const ?const是C/C++中的一个关键字(修饰符), const一般用来定义一个常量, 既然叫做常量, 即以后再也不能修改其值.const定义常量2. 什么是#define?而define, 宏定义, 则是一条预编译指令, 编译器在编译阶段会将所有使用到宏的地方简单地进行替换. 如下图所示 :宏定义的替换3.转载 2016-05-25 15:13:50 · 216 阅读 · 0 评论 -
为什么我要垂直对齐代码(你也要如此!)
上周在 HackerNews,关于 Linux Kernel 代码风格展开了有趣的讨论。在讨论中,我就应不应该垂直对齐代码发起了一场小小的圣战。我完全支持!让我细说端详。什么是垂直对齐?举个小例子:int robert_age = 32;int annalouise_age = 25;int bob_age = 250;int dorothy_age = 56;原创 2016-04-18 10:20:17 · 478 阅读 · 0 评论 -
iOS指定页面屏幕旋转,手动旋转(iOS 屏幕旋转只在当前控制器生效)
在AppDelegate.m中(NSUInteger)application:(UIApplication )application supportedInterfaceOrientationsForWindow:(UIWindow )window{if (_allowRotation == 1) {return UIInterfaceOrientationMaskAll;原创 2016-05-12 15:40:24 · 1113 阅读 · 0 评论 -
12个鲜为人知的HTML 5设计小技巧
慎用向右滑动操作、慎用横屏展示效果、按钮原理页面底部、使用SVG格式做矢量图…… 以上提到的技巧全都出自今天这篇好文,简单小巧但实操性很强,作为设计师,也要尽量避开这些坑。1、交互上,慎用向右滑动的操作方式。如:刮刮乐涂抹效果,左右滑动翻页等。原因:苹果手机上,向右滑动容易触发返回“上一级页面”效果。2、交互上,慎用横屏展示效果。原因转载 2016-05-03 08:53:31 · 372 阅读 · 0 评论 -
NSURLConnection分析理解
NSURLConnection提供对网络异步加载请求的支持,并且将获取的数据返回给代理。提供了简单的接口去创建和取消连接,同时使用delegate方法去支持连接过程的反馈和控制 。在实际开发中直接用的不多,但是有的第三方库却是用它来封装的。举例一: 1、先创建一个NSURL 2、在通过NSURL创建NSURLRequest,可以指定缓存规则和超时时间 3、创建NSURLConn原创 2016-04-19 15:12:00 · 352 阅读 · 0 评论 -
iOS:你真的理解你在用的自定义NSLog吗?
自定义NSLog我们在调试程序的时候,往往需要输出一些日志信息,用到NSLog函数,当我们准备发布程序,需要注释掉NSLog代码,这个时候往往会定义一个宏,在调试的时候,会输出日志,在Release正式版本的时候,会关闭日志输出。代码如下:12345#ifdef DEBUG#define CLog(原创 2016-05-27 09:21:50 · 285 阅读 · 0 评论 -
NSCache在AFNetworking及SDWebImage中的使用流程
原文: http://blog.youkuaiyun.com/qianlima210210/article/details/49636837NSCache是一个自动可变集合 (与其策略及属性设置相关),他存储单元是“key-value”,对key及value都是强引用,这也说明了,NSCache是内存缓存。有些对象创建比较耗时,或不需要二次获取,所以他们创建或获取后就可以放在NSCache里,以优转载 2016-04-19 15:34:49 · 342 阅读 · 0 评论 -
iOS断点续传:NSURLSession和NSURLSessionDataTask实现
苹果提供的NSURLSessionDownloadTask虽然能实现断点续传,但是有些情况是无法处理的,比如程序强制退出或没有调用cancelByProducingResumeData取消方法,这时就无法断点续传了。使用NSURLSession和NSURLSessionDataTask实现断点续传的过程是:1、配置NSMutableURLRequest对象的原创 2016-04-19 15:37:04 · 476 阅读 · 0 评论 -
知道这20个正则表达式,能让你少写1,000行代码
正则表达式,一个十分古老而又强大的文本处理工具,仅仅用一段非常简短的表达式语句,便能够快速实现一个非常复杂的业务逻辑。熟练地掌握正则表达式的话,能够使你的开发效率得到极大的提升。下面是@技匠整理的,在前端开发中经常使用到的20个正则表达式。正则表达式经常被用于字段或任意字符串的校验,如下面这段校验基本日期格式的JavaScript代码:123转载 2016-05-16 08:39:33 · 316 阅读 · 0 评论 -
iOS调整系统屏幕亮度
版权声明:本文为博主原创文章,未经博主允许不得转载。iOS调整系统屏幕亮度在iOS5.0以前,无法直接修改系统屏幕亮度,到了iOS5.0以后,苹果给开发者提供了相应的API,避免了之前间接调整屏幕亮度的假象,使之更加方便。调整屏幕亮度相应的API@property(nonatomic) CGFloat brightness NS_AVAILABLE_IOS(原创 2016-04-21 11:09:32 · 2028 阅读 · 0 评论 -
iOS 高效添加圆角效果实战讲解
圆角(RounderCorner)是一种很常见的视图效果,相比于直角,它更加柔和优美,易于接受。但很多人并不清楚如何设置圆角的正确方式和原理。设置圆角会带来一定的性能损耗,如何提高性能是另一个需要重点讨论的话题。我查阅了一些现有的资料,收获良多的同时也发现了一些误导人错误。本文总结整理了一些知识点,概括如下:设置圆角的正确姿势及其原理设置圆角的性能损耗其他设原创 2016-04-18 10:25:36 · 2316 阅读 · 0 评论 -
手把手教你封装下载管理器
2016-05-30 08:31 编辑: cocopeng 分类:iOS开发 来源:标哥的技术博客转自:标哥的技术博客概述即将要做一个有点技术含量的项目,其中一个小技术点就是视频上传、下载,在项目开始前,就需要做一下下技术调研,并写出相应的demo。本篇文章是针对所设计的demo而写的,只有下载的功能。当然,这个demo只是最简单版的,不考虑耦合性,只考转载 2016-05-30 11:15:16 · 834 阅读 · 0 评论 -
ios开发证书,描述文件,bundle ID的关系
苹果为了控制应用的开发与发布流程,制定了一套非常复杂的机制。这里面的关键词有:个人开发者账号,企业开发者账号,bundle ID,开发证书,发布证书(又叫“生产证书”),开发描述文件,发布描述文件,推送证书等...。初级开发者很难理解这中间的关系和作用。下文就对上述列出的关键内容和它们的关系做个详细介绍。1. 开发者账号开发者账号其实就是apple id,只不过要成为开发者,需转载 2016-05-17 16:00:26 · 546 阅读 · 0 评论 -
原子操作 信号量 自旋锁 互斥锁
内核同步措施(用于linux内核) 为了避免并发,防止竞争。内核提供了一组同步方法来提供对共享数据的保护。 我们的重点不是介绍这些方法的详细用法,而是强调为什么使用这些方法和它们之间的差别。 Linux使用的同步机制可以说从2.0到2.6以来不断发展完善。从最初的原子操作,到后来的信号量,从大内核锁到今天的自旋锁。这些同步机制的发展伴随Linux从单处理器到对称多处理器的过原创 2016-05-18 11:18:04 · 487 阅读 · 0 评论 -
一条shell统计代码行数
一条shell统计代码行数用shell命令即可,非常简单,CD进入你的工程目录,执行下列代码find . -name "*.py" |xargs grep -v "^$"|wc -l如果要统计ios开发代码,包括头文件的,命令如下find . -name "*.m" -or -name "*.h" |xargs grep -v "^$"|wc -lgrep原创 2016-05-19 14:30:55 · 336 阅读 · 0 评论 -
一个程序猿必须会玩的游戏
引言今天,林萧要教你玩一个游戏,而这个游戏,绝对是帮助你通往程序猿巅峰的绝佳伴侣哦。有的同学可能会说,“楼主,请问林萧是什么梗?”这个只能告诉你,林萧是某著名程序猿小说里主角的名字。没错,这篇文章就是他写的啦。林萧之所以写这篇文章,其实是有很多原因的,其中一个原因是,林萧有一次与群里的朋友在深夜里聊YY。有一个朋友他是林萧交流群里第一个加入的人,但是他活跃了没多久,转载 2016-06-01 15:45:06 · 369 阅读 · 0 评论 -
程序员编程的 7 + 1 条小贴士
这篇文章我已经构思了几个星期了,现在决定发表出来。请享用!1.编码之前想一想用10分钟,20分钟甚至30分钟的时间来想想你需要什么,想想什么样的设计模式(如果有的话)适合你将要编码的东西。真的要好好想想,你会很庆幸“浪费”了那几分钟,当你不得不更改或添加东西到代码中,而这只花费了你30分钟的时间而不是5小时。2.注释你的代码说真的,没有什么比两个月后检查自己的代码,转载 2016-06-13 10:16:52 · 322 阅读 · 0 评论