iOS那些事
青苹果园
每个人成长的脚步都不同,但他们都有共同的特点那就是脚踏实地。
展开
-
Cocoapods的最新安装流程
1.先升级Gem sudo gem update --system2.切换cocoapods的数据源 【先删除,再添加,查看】 gem sources --remove https://rubygems.org/ gem sources -a http://ruby.taobao.org/ gem sources -l3.安装cocoapods原创 2016-12-01 10:09:36 · 403 阅读 · 0 评论 -
GCD 之线程死锁问题
GCD 之线程死锁转自:http://www.cnblogs.com/tangbinblog/p/4133481.htmlGCD 确实好用 ,很强大,相比NSOpretion 无法提供 取消任务的功能。如此强大的工具用不好可能会出现线程死锁。 如下代码:- (void)viewDidLoad{ [super viewDidLoad];转载 2015-10-25 16:19:21 · 547 阅读 · 1 评论 -
保存图片到自定义相册文件夹中,实现处理相册被用户误删的情况
保存图片,思路分析:1>首先自定义一个保存图片的文件夹2>然后判断文件是否创建成功,如果创建成功则直接保存图片(先把图片保存到【相册胶卷】中,在保存到自定义相册文件夹中)。3>假如文件创建失败,即文件已经存在。那么遍历相册中的所有文件,当找到以前创建的文件夹,保存图片。如果遍历完所有文件,依然没找到自定义的文件夹,则表示此文件夹被用户误删了,则特殊处理文件夹名(一般在文件夹名后加一个空格)原创 2015-09-19 19:02:02 · 704 阅读 · 0 评论 -
浅谈——iSO9前后通信录API的使用变迁史
iOS9之后新增了一些通讯录的API,使用更加的面向对象和方便了。。。原创 2015-10-08 19:59:48 · 556 阅读 · 0 评论 -
iOS开发中常用的第三方插件和框架小结
一:插件1.图片补全插件:比如说你只有@3x的图片想要@2x的图片又不想麻烦美工妹妹,即可使用此神器:https://github.com/rickytan/RTImageAssets2.不解释cocoapods第三方框架快速集成插件,开发必备:https://github.com/kattrali/cocoapods-xcode-plugin二:框架原创 2015-10-20 21:09:21 · 664 阅读 · 0 评论 -
Swift 读取本地json文件时的异常捕获(try catch)的使用
Swift 读取本地json文件时的异常捕获(try catch)的使用// 1.获取文件路径 let path = NSBundle.mainBundle().pathForResource("xxx.json", ofType: nil)! // 2.根据文件创建 let data = NSData(contentsOfFile: path原创 2015-10-20 01:57:32 · 2930 阅读 · 0 评论 -
Swift中的打印日志的配置
Swift中的打印日志的配置/** * 定义日志打印输出方法 * * message: 具体的输出内容 * file: 项目名称 * method: 方法名称 * line: 第几行代码 */func LSLLog(message: T, file: String = __FILE__, method: String = __FUNCTION__, line原创 2015-10-20 01:49:40 · 944 阅读 · 0 评论 -
Swift2.0——构造方法的使用
构造方法的使用import Foundation/*继承与构造方法:指定构造与便利构造方法*/class Person { var name:String var age:Int // 指定构造方法都是以init开头的 init(name:String, age:Int) { self.name = name原创 2015-10-20 01:37:45 · 773 阅读 · 0 评论 -
Swift基础篇——析构方法
析构方法import Foundation/*析构方法对象的内存被回收前夕被隐式调用的方法, 对应OC的dealloc方法主要执行一些额外操作, 例如释放一些持有资源, 关闭文件, 断开网络等*/class FileHandler{ var fd: Int32? // 文件描述符 // 指定构造器 init(path:String){ /原创 2015-10-20 01:33:33 · 428 阅读 · 0 评论 -
Swift基础篇——内外函数
内外函数import Foundation/*内部函数: 默认情况下的参数都是内部参数外部函数: 如果有多个参数的情况, 调用者并不知道每个参数的含义, 只能通过查看头文件的形式理解参数的含义 那么能不能和OC一样让调用者直观的知道参数的含义呢? 使用外部参数 外部参数只能外部用, 函数内部不能使用, 函数内部只能使用内部参数*/func divis原创 2015-10-20 01:30:26 · 631 阅读 · 0 评论 -
Swift基础篇——内存相关
内存相关import Foundation/*Swift内存管理:管理引用类型的内存, 不会管理值类型, 值类型不需要管理内存管理原则: 当没有任何强引用指向对象, 系统会自动销毁对象(默认情况下所有的引用都是强引用)如果做到该原则: ARC*/class Person { var name:String init(name:String){原创 2015-10-20 01:27:44 · 451 阅读 · 0 评论 -
Swift基础篇——枚举
枚举import Foundation/*Swift枚举:Swift中的枚举比OC中的枚举强大, 因为Swift中的枚举是一等类型, 它可以像类和结构体一样增加属性和方法格式:enum Method{ case 枚举值}*/enum Method{// case Add// case Sub// case Mul// case Div原创 2015-10-20 01:25:09 · 400 阅读 · 0 评论 -
Swift基础篇——可选值
可选值import Foundation/*可选值: optionals有两种状态: 1.有值 2.没有值, 没有值就是nil*///有值:var optValue1: Int? = 9//没有值:var optValue2: Int?var optValue3: Int? = nil/*可选值可以利用if语句来进行判断*/var optValue4: Int?原创 2015-10-20 01:22:34 · 376 阅读 · 0 评论 -
Swift基础篇——结构体
结构体import Foundation/*结构体:结构体是用于封装不同或相同类型的数据的, Swift中的结构体是一类类型, 可以定义属性和方法(甚至构造方法和析构方法等)格式:struct 结构体名称 { 结构体属性和方法}*/struct Rect { var width:Double = 0.0 var height:Double = 0.0原创 2015-10-20 01:20:14 · 463 阅读 · 0 评论 -
地图的使用
地图的基本使用设置地图类型// 1.设置地图显示类型 // MKMapTypeStandard = 0, // 标准地图 // MKMapTypeSatellite, // 卫星云图 // MKMapTypeHybrid, // 混合(在卫星云图上加了标准地图的覆盖层) // MKMapTypeSatelliteFlyover NS_ENUM_A原创 2015-09-24 20:08:38 · 468 阅读 · 0 评论 -
浅谈——定位(CoreLocation)的简介
简介在移动互联网时代,移动app能解决用户的很多生活琐事,比如周边:找餐馆、找KTV、找电影院等等导航:根据用户设定的起点和终点,进行路线规划,并指引用户如何到达在上述应用中,都用到了定位和地图功能,在iOS开发中,要想加入这2大功能,必须基于2个框架进行开发CoreLocation:用于地理定位,地理编码,区域监听等(着重功能实现);优点:不需要地图,精度相对略差,省原创 2015-09-24 00:09:35 · 479 阅读 · 0 评论 -
如何在UICollectionView reloadData后找到的某个cell
collection view 在reloadData之后,找不到 cell今天碰到的一个问题:app 主界面是一个 collection view,当数据源增加一个数据时,我需要立即刷新视图,并打开相应的 cell。于是我写了如下代码,123[self.collectionView reloadData];UICollectionVie转载 2015-12-08 22:12:52 · 2220 阅读 · 0 评论 -
绘制像素到屏幕
像素是如何绘制到屏幕上面的?把数据输出到屏幕的方法有很多,通过调用很多不同的framework和不同的函数。这里我们讲一下这个过程背后的东西。希望能够帮助大家了解什么时候该使用什么API,特别是当遇到性能问题需要调试的时候。当然,我们这里主要讲iOS,但是事实上,很多东西也是可以应用到OSX上面的。Graphics Stack绘制屏幕的过程中又很多都是不被人了解的。但是一旦像素被绘原创 2015-12-08 21:54:17 · 963 阅读 · 0 评论 -
Git push的使用
git push命令用于将本地分支的更新,推送到远程主机。它的格式与git pull命令相仿。1$ git push :注意,分支推送顺序的写法是:,所以git pull是:,而git push是:。如果省略远程分支名,则表示将本地分支推送与之存在”追踪关系”的远程分支(通常两者同名),如果原创 2015-12-01 23:23:39 · 398 阅读 · 0 评论 -
iOS - 断言处理与调试
一、Objective-C 中的断言:Objective-C 中的断言处理使用的是 NSAssertionHandler :每个线程拥有它自己的断言处理器,它是 NSAssertionHandler 类的实例对象。当被调用时,一个断言处理器打印一条包含方法和类名(或者函数名)的错误信息。然后它抛出一个 NSInternalInconsistencyException 异常。原创 2015-12-08 22:28:21 · 778 阅读 · 0 评论 -
关于xcode6升xcode7之后多window时,程序的状态栏管理问题
关于xcode6升xcode7之后多window时,程序的状态栏管理问题在iOS6到iOS8时,我们设置app的状态栏样式,一般把info.plist里面设置了View controller- based status bar appearance为NO,默认为YES,来应用程序来管理。这样的话多window时,并不会有影响状态栏的样式,因为状态栏是由应用UIApplication来管原创 2015-10-20 13:40:53 · 638 阅读 · 0 评论 -
UIView 中常见的方法总结
UIView 中常见的方法总结addSubview: 添加一个子视图到接收者并让它在最上面显示出来。 - (void)addSubview:(UIView *)view 讨论 这方法同样设置了接收者为下一个视图响应对象。接收者保留视图。如果你使用removeFromSuperview方法用来把视图移除他的显示列表,那么视图将会被释放。如果你想要在视图移除显示列表後保留并转载 2015-11-21 20:01:45 · 305 阅读 · 0 评论 -
UIView的bounds到底是干嘛的
view的三个相关属性UIView 的 frame 属性使用的很频繁,但是 bounds 这个属性却一直用的不多。最近的工作内容涉及 bounds 比较多,抽空研究了一下。先说结论,frame : 当前 view 在其 superView 中的位置及大小bounds : 是 view 自身的坐标系(为其 subViews 提供的坐标系)center : 该view的中心点在父vie转载 2015-12-08 22:08:11 · 690 阅读 · 0 评论 -
iOS组件之UIScrollView详解
引言UIScrollView的是几个UIKit类包括的UITableView和UITextView中的超类。一个UIScrollView对象(或者,简单地说,一个滚动视图)的核心概念是,它是一个视图,其起源是可调过的内容视图。它剪辑的内容,它的框架,这通常(但不一定)恰逢该应用程序的主窗口。滚动视图跟踪手指的变动,并相应调整原点。这正显示出它的内容“,通过”滚动视图的视图绘制的基础转载 2015-11-21 17:04:51 · 399 阅读 · 0 评论 -
iOS之富文本
随着iOS6 API的发布,文字显示的API越来越完善,其中一个重要的更新是在UITextField,UITextView和UILabel中加入了对AttributedString的支持,实现行距控制,字距控制,段落控制等高级功能也不必再去使用深奥的CoreText框架。而iOS7的发布,苹果又引入了TextKit,TextKit是一个快速而又现代化的文字排版和渲染引擎。转载 2015-10-29 01:17:53 · 558 阅读 · 0 评论 -
浅谈——适配所有IOS版本的反地理编码的代理转block封装
浅谈——适配大部分IOS版本的反地理编码的代理转block封装(包括ios8.0之前、ios8.0之后到ios9.0之前和ios9.0之后)。。。。。。原创 2015-09-24 00:22:08 · 657 阅读 · 0 评论 -
浅谈——用宏封装单例
用宏封装单例。。。。。。原创 2015-09-24 00:14:13 · 467 阅读 · 0 评论 -
浅谈——定位的使用
应用场景导航电商APP,获取用户所在城市数据采集用户信息(例如:统计app的使用分布)查找周边(周边好友,周边商家等等)定位的省电模式不需要获取用户位置时,一定要光比定位服务如果能够满足项目需求,极可能的使用“监听显著位置变化”定位服务(打车app)如果可以,尽可能使用低精度的desiredAccuracy如果是数据采集(一般都是周期性的去轮询用户位置),在轮询周期间一定要原创 2015-09-24 00:11:41 · 434 阅读 · 0 评论 -
Swift基础篇——单例
单例import Foundationclass NetWorkingTools:NSObject { // func == - // class func == + // 方法一: /* static var onceToken: dispatch_once_t = 0; static var _instance: Netw原创 2015-10-20 01:17:15 · 335 阅读 · 0 评论 -
Swift基础篇——懒加载
懒加载import UIKitclass ViewController: UIViewController { // 只有外界访问到listData的时候才会去执行闭包, 然后将闭包的返回值赋值给listData // 注意: 一定要记住闭包后面需要写上(), 代表执行闭包 lazy var listData: [String]? = { ()->[原创 2015-10-20 01:15:04 · 365 阅读 · 0 评论 -
ios-runtime原理
对于runtime机制,在网上找到的资料大概就是怎么去用这些东西,以及查看runtime.h头文件中的实现,当然这确实是一种很好的学习方法,但是,其实我们还是不会知道runtime底层编译成C++语言之后做了什么? 查到一个大牛给资料,顿时对runtime有了一定认识!我们随便写一个小程序,代码如下: person类头文件如下,#import @interface Person转载 2015-09-04 14:21:31 · 377 阅读 · 0 评论 -
文本框的占位文字属性设置的4种方法
在开发中我们都得对输入框中的占位文字(提示信息)做一些必要的样式设置,这里总结了几种方法供大家参考。原创 2015-09-02 23:52:39 · 2159 阅读 · 0 评论 -
iOS-浅谈runtime运行时机制01-类与对象的内部结构
最近一直在研究runtime运行时机制的问题,我想可能也有很多人不太清楚这个问题吧?在这里跟大家沟通分享下我对与runtime机制的理解。 要理解runtime,首先我们要了解类和对象的内部结构,下面将首先介绍下OC中类与对象的结构层次。 一、首先,从 runtime.h头文件中找到对 class 与 object 的定义/// An opa转载 2015-09-04 13:19:29 · 451 阅读 · 0 评论 -
iOS-浅谈runtime运行时机制02-runtime简单使用
由于OC是运行时语言,只有在程序运行时,才会去确定对象的类型,并调用类与对象相应的方法。利用runtime机制让我们可以在程序运行时动态修改类、对象中的所有属性、方法。原创 2015-09-04 13:25:16 · 430 阅读 · 0 评论 -
监听文本框事件几种方法总结
开发中有多重方式来实现对文本框事件的监听,这里总结了从代理、给文本框添加事件、通知和重写文本框获取和失去焦点时方法来对比它们之前的区别和优劣。原创 2015-09-03 00:00:24 · 1449 阅读 · 0 评论 -
SVN图形化界面工具Cornerstone的管理项目
SVN图形化界面工具Cornerstone的使用问题,包括项目的搭建、提交、更新、备份、分支修复bug和整合项目等。原创 2015-08-30 12:51:15 · 6827 阅读 · 0 评论 -
工作中的GIT
在工作中,我们肯定会接触到git(分布式版本控制工具)相关的工具,如当下比较流行的远程服务器Github、osChina等,这里做git使用的简单介绍。。。。。。原创 2015-08-30 15:25:43 · 559 阅读 · 0 评论 -
浅谈git
git是一款开源的分布式版本控制工具在世界上所有的分布式版本控制工具中,git是最快、最简单、最流行的。在国外已经非常普及,国内并未普及(在慢慢普及)越来越多的开源项目已经转移到git原创 2015-08-30 15:16:02 · 440 阅读 · 0 评论 -
浅谈SVN (subversion)
浅谈SVN,包括svn的简单使用、注意点及遇见的问题等等……原创 2015-08-29 00:25:56 · 854 阅读 · 0 评论 -
NSURLSession使用说明及后台工作流程分析
NSURLSession是iOS7中新的网络接口,它与咱们熟悉的NSURLConnection是并列的。在程序在前台时,NSURLSession与NSURLConnection可以互为替代工作。注意,如果用户强制将程序关闭,NSURLSession会断掉。 NSURLSession提供的功能:1.通过URL将数据下载到内存2.通过URL将数据下载到文件系统3转载 2015-08-27 11:58:49 · 472 阅读 · 0 评论