iOS开发基础
文章平均质量分 84
Thinker361
引领技术巅峰,黑客无所不能。年轻很值钱,不珍惜就不值钱。
展开
-
Swift和OC的区别(基于Swift3.0)
Swift无疑是iOS程序员的未来,但是目前苹果公司还在不端更新和改变Swift,甚至在语法层面还在不断探索,虽然xcode提供一些直接适配新版本Swift语法的快捷键,但给我们学习不免造成一些影响,这里是基于Swift3.0和OC的一些基础性知识的比较。一. 基础部分1.Swift的类型是在C和Objective-C的基础上提出的,Int是整型;Double和Float是浮点型;Bool是布尔型原创 2017-06-20 20:16:06 · 1498 阅读 · 0 评论 -
整理常用的iOS第三方资源
一:第三方插件1:基于响应式编程思想的oc地址:https://github.com/ReactiveCocoa/ReactiveCocoa2:hud提示框地址:https://github.com/jdg/MBProgressHUD3:XML/HTML解析地址:https://github.com/topfunky/hpple4:有文字原创 2016-02-29 09:13:24 · 515 阅读 · 0 评论 -
UIControl 的基本使用方法和 Target-Action 机制
我们在开发应用的时候,经常会用到各种各样的控件,诸如按钮(UIButton)、滑块(UISlider)、分页控件(UIPageControl)等。这些控件用来与用户进行交互,响应用户的操作。我们查看这些类的继承体系,可以看到它们都是继承于UIControl类。UIControl是控件类的基类,它是一个抽象基类,我们不能直接使用UIControl类来实例化控件,它只是为控件子类定义一些通用的接口,并原创 2016-02-28 22:01:10 · 616 阅读 · 0 评论 -
UITableview代理方法与Viewcontroller分离
序在objcio.cn中有一篇文章更轻量的 View Controllers其中有一小节,是说把UITableview的datasource和delegate分离出Viewcontroller的。我也试着实现了一下,随便把思路总结下~DEMO建议先下载demo,再结合下面的分析,会好理解点。地址https://github.com/Resory/RYDatasource原创 2016-02-28 21:51:54 · 695 阅读 · 0 评论 -
ios关于数据库第三方框架FMDB进阶用法
概述上一篇讲述了FMDB的最基本用法,用到的例子是缓存一张学生表,表里面都是些简单的字段。然而我们在实际项目开发中,大都使用FMDB缓存数据列表,比如网易新闻的新闻列表,QQ动态列表等。遵循MVC设计模式,我们请求下来的数据一般会建成数据模型,本编要讲的就是如何用FMDB缓存数据模型。下面就以新浪微博为例,看看如何使用FMDB缓存微博列表数据: 1、创建一个缓存微博数据的工原创 2016-03-23 14:50:18 · 1472 阅读 · 0 评论 -
Xcode 修改系统的代码块样式 Code Snippet
Xcode在编码的时候,系统代码块给我们提供了很大的便利。然而,有时候,也给我们带来很大的困扰。例如,系统的 if 代码块,大括号是紧跟括号之后的。 但是现在呢,公司的代码规范是要求另起一行。 那每次都得手动去调,的确是件很影响心情的事。现在,就教大家怎么去修改系统的代码块样式。Xcode内置代码模板Xcode的所有代码模板是用一个plis原创 2016-02-26 17:57:25 · 605 阅读 · 0 评论 -
ReactiveCocoa 4 官方文档翻译
译者:@没故事的卓同学将翻译几篇ReactiveCocoa的文档,这是第一篇。ReactiveCocoa (RAC) 是一个Cocoa框架,受Functional Reactive Programming启发。它提供API合成变换(composing and transforming)随着时间改变的数据流。兼容性关于 RAC 4的文档是在Swift 2.1.翻译 2016-02-26 17:41:21 · 722 阅读 · 0 评论 -
Apple Pay接入详细教程
Apple Pay运行环境:iPhone6以上设备,操作系统最低iOS9.0以上,部分信息设置需要iOS9.2以上。目前还不支持企业证书添加。环境搭建好后可以在模拟器上面运行,xcode7.2.1+iPhone6SP9.2系统下,系统会绑定几种虚拟的银行卡,和几个联系人,方便调试,支付也不会发生真实的付款,真的很方便。准备工作在接入Apple Pay之前,首先要申请Merc原创 2016-02-26 17:38:48 · 1919 阅读 · 0 评论 -
IOS中获取各种文件的目录路径的方法
其实每个APP的程序都是单独的一个文件夹,每个APP之间相互之间独立,所以它们的文件夹也是独立的,这个文件夹就是沙盒(Sandbox)。沙盒好处,安全; 坏处,程序之间彼此共享数据较为困难。1)如何找到应用程序的沙盒源文件?一般沙盒源文件都存放在~/Library/Application Support/iPhone Simulator/版本号/Applications原创 2016-02-26 15:14:19 · 8458 阅读 · 0 评论 -
OS开发网络篇—数据缓存
iOS开发网络篇—数据缓存一、关于同一个URL的多次请求 有时候,对同一个URL请求多次,返回的数据可能都是一样的,比如服务器上的某张图片,无论下载多少次,返回的数据都是一样的。 上面的情况会造成以下问题(1)用户流量的浪费(2)程序响应速度不够快解决上面的问题,一般考虑对数据进行缓存。 二、缓存 为了提高原创 2015-11-26 21:04:54 · 737 阅读 · 0 评论 -
UIScrollView的重用机制的理解
UIScrollView的重用机制的理解。大家都知道这个UIScrollView。UItableVIew是继承UIScrollView的UItableVIew默认里面有自己的重用机制可以节省内存。UIScrollView是可以用来加载很多图片,有利用显示,但是没有重用机制会在真机上crash。网上找了些资料:主要有两种解决的方案1.图片内存托管将scrollview上所有的原创 2016-03-11 12:21:56 · 1741 阅读 · 0 评论 -
由App的启动说起
The two most important days in your life are the day you are born and the day you find out why.-- Mark Twain“你是谁?从哪里来?到哪里去?”,这三个富有哲学气息的问题,是每一个人在不断解答的问题。我们Code,Build,Run,一个活生生的App跃然方寸屏上,这一切是如何发翻译 2016-02-29 09:17:42 · 578 阅读 · 0 评论 -
iOS崩溃调试
在iOS开发调试过程中以及上线之后,程序经常会出现崩溃的问题。简单的崩溃还好说,复杂的崩溃就需要我们通过解析Crash文件来分析了,解析Crash文件在iOS开发中是比较常见的。现在网上有很多关于解析崩溃信息的博客,但是大多质量参差不齐,或者有些细节没有注意到。今天写一篇博客总结一下我对崩溃调试的使用和技巧,如果有哪些错误或遗漏,还请指点,谢谢!获取崩溃信息在iOS中获取崩原创 2016-02-29 09:19:40 · 559 阅读 · 0 评论 -
OC 自动生成分类属性方法
分类属性方法自动生成编码全过程。背景 分类,在 iOS 开发中,是常常需要用到的。在分类里添加属性也是常有的事,但分类中无法添加实例变量,编译器也无法为提供分类中属性的 getter 和 setter 方法了。一般而言,需要手动来实现这两个方法,如果只是用来存储变量的话,关联对象很容易做到这一点:@interface NSObject (db_sqlite)@pro转载 2016-02-29 09:22:30 · 1322 阅读 · 0 评论 -
Swift中协议的简单介绍
前言熟悉objective-c语言的同学们肯定对协议都不陌生,在Swift中苹果将protocol这种语法发扬的更加深入和彻底。Swift中的protocol不仅能定义方法还能定义属性,配合extension扩展的使用还能提供一些方法的默认实现,而且不仅类可以遵循协议,现在的枚举和结构体也能遵循协议了。基于此本文从 1,协议中定义属性和方法,2,协议的继承、聚合、关联类型,3,协议的扩展,原创 2017-03-10 18:04:17 · 718 阅读 · 0 评论 -
ExternalAccessory框架
这个框架能做什么顾名思义:External:外部的;Accessory:配件。应该是和外部设备相关的一个框架。ExternalAccessory框架,就是可以用来和Lightning接口的硬件,或者蓝牙(2.1)设备进行连接、通讯的这么一个框架。(当然,也可以和30-pin接口的硬件连接、通讯——不过现在几乎没有这种接口的设备了吧~)就是你现在有一个Lightning耳机(原创 2017-03-10 17:06:49 · 2404 阅读 · 0 评论 -
iOS 开发技术栈与进阶
最近有一些开发朋友问我应该怎样提升自己的能力,回想起来做了这么久 iOS 开发,我也有过那种“让我做一个功能实现个需求我会做,但接下来怎样提高我不知道。”的时期,这里尝试列一下 iOS 开发的相关技术,再说说在学习进阶上我的一些想法。iOS 技术栈这里按我的理解给 iOS 相关技术分个类,以工程实现的角度,分成了基础、需求、效率、质量四个类别。基础指程序开发和 iOS 开发的基础知原创 2017-03-10 17:02:46 · 435 阅读 · 0 评论 -
用 Swift 编写面向协议的视图
我最近做了个 Swift 面向协议编程实践 (POP:boom:) 的演讲。视频还在处理中。另一方面,这是演讲中 POP 视图部分的文本记录,供我和其他任何人作参考! 简单的任务假设你要写一个由一张图片和一个按钮构成的简单应用,产品经理希望按钮被点击的时候图片会抖动,就像这样:由于这个动画常常在用户名或者密码输入错误时被用到,所以我们很容易就能 在 StackOve原创 2017-03-06 16:26:29 · 1521 阅读 · 2 评论 -
Xcode中的 workspace, project, target, scheme
最近在做SDK兼容性测试发现一个问题,就是编译出来的SDK,在iOS8以下的系统中不能用。查了下,发现是编译设置错了,虽然我target设置的是支持iOS6以上的,但是工程设置的还是iOS8以上。xib文件编译的版本是根据project设置,而不是target,这个也是为什么在低于iOS8中不能用的原因。正好之前对SDK开发进行了工程拆分和重组,也使用了workspace,顺便也了解了些编译相关的原创 2016-10-19 16:50:49 · 438 阅读 · 0 评论 -
iOS、mac开源项目及库汇总
UI 下拉刷新 EGOTableViewPullRefresh - 最早的下拉刷新控件。 SVPullToRefresh - 下拉刷新控件。 MJRefresh - 仅需一行代码就可以为UITableView或者CollectionView加上下拉刷新或者上拉刷新功能。可以自定义上下拉刷新的文字说明。具体使用看“使用方法”。 (国人写) XHRefreshControl - X原创 2016-05-21 23:09:26 · 9947 阅读 · 1 评论 -
制作Swift Framework
不墨迹,直接上干货:1、 Xcode -> New Project -> iOS Tab -> Framework & Library -> Cocoa Touch Framework -> Language:Swift2、然后新建一个Swift文件,命名名称最好与Framework 名相同(可以不同);3、在该swift文件里面编写一个类型,注意,类access cont原创 2016-06-08 15:58:16 · 2123 阅读 · 0 评论 -
Swift 开源项目精选
https://github.com/ipader/SwiftGuide/blob/master/Featured.md#networkSwift 开源项目精选基于《Swift 语言指南》开源项目收录,做了一个甄别和筛选,并辅以一句话介绍。还有开发者们自己维护的《开发者、项目、最佳实践》@SwiftLanguage 更新至 2016-5-17,最近新收录 28 个(详见《Iss原创 2016-05-31 15:58:06 · 539 阅读 · 0 评论 -
iOS下的实际网络连接状态检测
序言网络连接状态检测对于我们的iOS app开发来说是一个非常通用的需求。为了更好的用户体验,我们会在无网络时展现本地或者缓存的内容,并对用户进行合适的提示。对绝大部分iOS开发者来说,从苹果示例代码改变而来的各种Reachablity框架是实现这个需求的普遍选择,比如这个库。但事实上,基于此方案的所有实现,都无法帮助我们检测真正的网络连接状态,它们能检测的只是本地连接状态;这种情况包转载 2016-02-29 09:48:33 · 899 阅读 · 1 评论 -
iOS-私有API与runtime
序有朋友在做类似iTool的功能,跟我聊起来,这几天闲,就写了一个demo,不是正经做这个,还很粗略,具体干货诸位等这位朋友自己发文吧。DEMOhttps://github.com/liulishuo/testAppList思路iOS9白名单的上限是50个,如果想绕过这个限制,扫描系统中所有app的状态,只有使用私有API,需要用到的类有两个:LSAppli转载 2016-02-29 09:37:09 · 723 阅读 · 0 评论 -
podfile 常见语法2
The Podfile is a specification that describes the dependencies of the targets of one or more Xcode projects.A Podfile can be very simple:target'MyApp'pod 'AFNetworking', '~> 1.0'An ex原创 2016-03-10 18:17:57 · 1296 阅读 · 0 评论 -
Cocoa 新的依赖管理工具:Carthage
Cocoa 新的依赖管理工具:Carthage说到 iOS 的依赖管理工具,大家一定首先想到的是 CocoaPods ,不错,CocoaPods 确实是一个很好依赖管理工具,已然成为了 Cocoa 依赖管理的标准,丰富的支持库、文档等等,CocoaPods 相关的文章有很多,这里就不一一赘述了。今天要介绍的是一款新的依赖管理工具,名曰 “Carthage”,名字有点难理解,简单方便原创 2016-03-11 09:49:39 · 474 阅读 · 0 评论 -
如何实现自己没实现过的需求之文本动画
前言记得以前看到过一个很赞的文字效果的动画,类似于这样:当时被惊艳到了,最近偶然间又再次见到,依然还是那么喜欢。假设我们现在需要实现这样的需求。一般碰到需求我们都会去 GitHub 上看看,俗称找轮子(GitHub 基本上只有你想不到的,就没有它没有的)。大多数情况下,没有问题。或者说有点小问题:轮子太多,无从下嘴。选择选轮子就像选姑娘,你不知道后面等着你的是什么 —–罪恶原创 2016-03-22 15:02:06 · 1119 阅读 · 0 评论 -
CATransform3D
目录[-]iOS开发CoreAnimation解读之五——CATransform3D变换的应用一、引言二、CATransform3D中的属性和方法1、平移变换2、缩放变换3、旋转变换4、旋转翻转变换5、CATransform3D与CGAffineTransform的转换iOS开发CoreAnimation解读——CATransform3D原创 2016-03-04 09:57:50 · 2849 阅读 · 0 评论 -
iOS 3D Touch功能
目录[-]新的触摸体验——iOS9的3D Touch一、引言二、在模拟器上学习和测试3D Touch附.SBShortcutMenuSimulator的安装和使用三、3D Touch的主要应用四、3D Touch的三大模块1、Home Screen Quick Actions2、peek and pop3.Force Properties五、Home原创 2016-03-04 09:54:33 · 496 阅读 · 0 评论 -
UITableView学习笔记
看TableView的资料其实已经蛮久了,一直想写点儿东西,却总是因为各种原因拖延,今天晚上有时间静下心来记录一些最近学习的TableView的知识。下面进入正题,UITableView堪称UIKit里面最复杂的一个控件了,使用起来不算难,但是要用好并不容易。当使用的时候我们必须要考虑到后台数据的设计,tableViewCell的设计和重用以及tableView的效率等问题。下面分9个方面进行转载 2016-03-02 09:52:59 · 391 阅读 · 0 评论 -
iOS AFNetworking 数据缓存
How Does Caching Work in AFNetworking? : AFImageCache & NSUrlCache ExplainedFEB 20TH, 2014If you are an iOS developer using Mattt Thompson’s ‘delightful networking framework’ AFNetworking (原创 2015-11-26 21:07:14 · 1348 阅读 · 0 评论 -
iOS AFNetworking 数据缓存(3)
AFNetWorking 在IOS开发中是一个经常会用的第三方开源库,其最好处是维护及时,源码开源。 常用GET与POST请求方法:POST请求: ?123456789//初始化一个请求对象 AFHTTPRequestOperationManage原创 2015-11-26 22:04:40 · 666 阅读 · 0 评论 -
Xcode 6 新建空工程
步骤阅读原创 2015-02-09 14:22:19 · 748 阅读 · 0 评论 -
iOS property 用法
形式: @property(para1,para2,para3)ClassType object;参数:有3种类型参数 para1 : atomic / nonatomic para2 : MRC: retain/as原创 2015-07-09 18:07:53 · 755 阅读 · 0 评论 -
Xcode 6.0 Prefix.pch 文件相关问题
XCode6里, 新建工程默认是没有pch文件的,苹果取消pch文件这一点肯定有它的道理,刚开始很多人可能不适应,如果我们想使用pch文件,需要手动添加,添加步骤如下:(依旧直接上图)@ 取消的原因:vcD48cD4gICAgICBTdGFja292ZXJmbG93yc/T0NK7uPbIy7bUtMu1xL3iys3Kx9Xi0fm1xKO6PGJyIC8原创 2015-04-01 09:27:33 · 1430 阅读 · 0 评论 -
iOS 国际化 xcode 6.0以上
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl原创 2015-03-23 13:28:54 · 844 阅读 · 0 评论 -
iOS 文件读写 (一)
一、iOS中的沙盒机制iOS应用程序只能对自己创建的文件系统读取文件,这个独立、封闭、安全的空间,叫做沙盒。它一般存放着程序包文件(可执行文件)、图片、音频、视频、plist文件、sqlite数据库以及其他文件。每个应用程序都有自己的独立的存储空间(沙盒)一般来说应用程序之间是不可以互相访问模拟器沙盒的位置/User/user原创 2015-03-06 14:14:16 · 1236 阅读 · 0 评论 -
你真的了解iOS代理设计模式吗?
本文是投稿文章,作者:刘小壮在项目中我们经常会用到代理的设计模式,这是iOS中一种消息传递的方式,也可以通过这种方式来传递一些参数。这篇文章会涵盖代理的使用技巧和原理,以及代理的内存管理等方面的知识。我会通过这些方面的知识,带大家真正领略代理的奥妙。写的有点多,但都是干货,我能写下去,不知道你有没有耐心看下去。本人能力有限,如果文章中有什么问题或没有讲到的点,请帮忙指出,十分感谢!原创 2016-03-17 09:12:07 · 6955 阅读 · 2 评论 -
iOS 玩转推送通知
前言推送通知,想必大家都很熟悉,关于原理之类的,这里就不过多阐述。在这里我们主要介绍下iOS8及iOS9之后关于推送的新功能。大家可能见过听说过,但可能有一些朋友并没有上手做过。这篇文章便给大家详细介绍推送中的快捷按钮及快捷回复等功能的实现。快捷点赞,如微博点赞功能效果图大家可以先看下:首先先说如何为自己的推送添加快捷功能原创 2016-03-17 13:30:28 · 944 阅读 · 0 评论 -
iOS Touch ID 简易开发教程
基础知识支持系统和机型iOS系统的指纹识别功能最低支持的机型为iPhone 5s,最低支持系统为iOS 8,虽然安装iOS 7系统的5s机型可以使用系统提供的指纹解锁功能,但由于API并未开放,所以理论上第三方软件不可使用。依赖框架LocalAuthentication.framework#import 注意事项做iOS 8以下版本适配时,务原创 2016-03-18 17:57:59 · 1269 阅读 · 0 评论