ios基础
diamondld
这个作者很懒,什么都没留下…
展开
-
IOS 文件目录及NSUserDefaults浅谈
1.IOS文件目录iphone沙箱模型的有四个文件夹,分别是什么,永久数据存储一般放在什么位置,得到模拟器的路径的简单方式是什么.documents,tmp,app,Library。手动保存的文件在documents文件里,Nsuserdefaults保存的文件在Library/Preferences 目录文件夹里;D转载 2014-11-10 16:36:28 · 220 阅读 · 0 评论 -
ios block循环引用问题
ios开发中,开了ARC模式,系统自动管理内存,如果程序中用到了block就要注意循环引用带来的内存泄露问题了这几天遇到一个问题,正常页面dismiss的时候是要调用dealloc方法的,但是我的程序就是不调用,研究了好久终于找到了问题出在哪里了起初的代码如下:- (void)getMyrelatedShops{ [self.loadTimer转载 2015-05-19 13:33:50 · 218 阅读 · 0 评论 -
GCD教程(二):多核心的性能
接上一篇,原帖地址:http://www.dreamingwish.com/dream-2012/of-of-of-performance-of-of-of-of-of-of-of-gcd-introduced-ba-the-multi-core.html概念为了在单一进程中充分发挥多核的优势,我们有必要使用多线程技术(我们没必要去提多进程,这玩意儿和GCD没关系)。在低层转载 2015-05-19 12:19:41 · 273 阅读 · 0 评论 -
CocoaPods使用说明
CocoaPods是iOS最常用的第三方类库管理工具,绝大部分有名的开源类库都支持CocoaPods。CocoaPods是用Ruby实现的,要想使用它首先需要有Ruby的环境。幸运的是OS X系统默认已经可以运行Ruby了,因此我们只需执行以下命令:sudo gem install cocoapods安装成功后,接着执行命令:pod setup如果R转载 2015-06-08 11:02:17 · 182 阅读 · 0 评论 -
AFNetworking AFSecurityPolicy
友情提示:本文使用的AFNetworking是最新git pull的2.3.1版本,如果想确认你机器上的AFNetworking版本,请打git tag命令查看。 绝大部分iOS程序的后台服务都是基于RESTful或者WebService的,不论在任何时候,你都应该将服务置于HTTPS上,因为它可以避免中间人攻击的问题,还自带了基于非对称密钥的加密通道!现实是这些年涌现了大量速成的移动端转载 2015-07-13 16:31:36 · 698 阅读 · 0 评论 -
unicode utf8 ascii
今天中午,我突然想搞清楚Unicode和UTF-8之间的关系,于是就开始在网上查资料。结果,这个问题比我想象的复杂,从午饭后一直看到晚上9点,才算初步搞清楚。下面就是我的笔记,主要用来整理自己的思路。但是,我尽量试图写得通俗易懂,希望能对其他朋友有用。毕竟,字符编码是计算机技术的基石,想要熟练使用计算机,就必须懂得一点字符编码的知识。1. ASCII码我们知道,在计转载 2015-07-16 11:17:09 · 314 阅读 · 0 评论 -
AFNetworking 2.0学习之AFURLRequestSerialization
本篇我们继续来看看AFNetworking的下一个模块 — AFURLRequestSerialization。AFURLRequestSerialization用于帮助构建NSURLRequest,主要做了两个事情:1.构建普通请求:格式化请求参数,生成HTTP Header。2.构建multipart请求。分别看看它在这两点具体做了什么,怎么做的。1.构建普通请转载 2015-07-16 15:29:19 · 501 阅读 · 0 评论 -
AFNetworking2.0源码解析AFURLResponseSerialization
续AFNetworking2.0源码解析,本篇来看看AFURLResponseSerialization做的事情。结构AFURLResponseSerialization负责解析网络返回数据,检查数据是否合法,把NSData数据转成相应的对象,内置的转换器有json,xml,plist,image,用户可以很方便地继承基类AFHTTPResponseSerializer去解析更多的数据转载 2015-07-16 21:50:53 · 560 阅读 · 0 评论 -
afnetworking2.0源码解析AFURLRequestSerialization
本篇我们继续来看看AFNetworking的下一个模块 — AFURLRequestSerialization。AFURLRequestSerialization用于帮助构建NSURLRequest,主要做了两个事情:1.构建普通请求:格式化请求参数,生成HTTP Header。2.构建multipart请求。分别看看它在这两点具体做了什么,怎么做的。1.构建普通请转载 2015-07-17 13:59:53 · 281 阅读 · 0 评论 -
AFNetworking使用
现在大家都喜欢用AFNetworking,因为有人维护。看来一下官方文档,把使用的代码简单罗列一下:首先通过CocoaPods(没用过的看这篇文章)把AFNetworking拉下来Podfileplatform :ios, '7.0'pod "AFNetworking", "~> 2.0"方法一:GET 请求AFHTTPRequestOperationManage转载 2015-07-21 14:08:14 · 179 阅读 · 0 评论 -
为什么要使用NSURLSession
为什么要使用NSURLSession?翻译原文 ,所有版权规其所有。well,先来看一些优点:后台上传和下载:只需在创建NSURLSession的时候配置一个选项,就能得到后台网络的所有好处。这样可以延长电池寿命,并且还支持UIKit的多task,在进程间使用相同的委托模型。能够暂停和恢复网络操作:使用NSURLSession API能够暂停,停止,恢复所有转载 2015-07-24 11:26:39 · 299 阅读 · 0 评论 -
CocoaPods安装和使用教程
CocoaPods安装和使用教程Code4App 原创文章。转载请注明出处:http://code4app.com/article/cocoapods-install-usage目录CocoaPods是什么?如何下载和安装CocoaPods?如何使用CocoaPods?场景1:利用CocoaPods,在项目中导入AFNetworking类库场景2:如何正确编译运行一个包含C转载 2015-06-23 14:50:01 · 182 阅读 · 0 评论 -
Mac环境下svn的使用
在Windows环境中,我们一般使用TortoiseSVN来搭建svn环境。在Mac环境下,由于Mac自带了svn的服务器端和客户端功能,所以我们可以在不装任何第三方软件的前提下使用svn功能,不过还需做一下简单的配置。我们首先来看下,如何在Mac环境下搭建svn服务器端环境。创建代码仓库,用来存储客户端所上传的代码我先在/User/apple目录下新建一个svn目录,以后可以转载 2015-06-24 11:21:16 · 202 阅读 · 0 评论 -
使用Symbolicatecrash和xcrun atos分析crash log
如果是完整的*.crash log,就使用Symbolicatecrash来解析, 使用方法:1. 找到Symbolicatecrash文件Xcode 5.0的之后/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/PrivateFrameworks转载 2014-11-19 18:17:35 · 242 阅读 · 0 评论 -
关于UITableView的性能优化(历上最全面的优化分析)
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath这个代理方法的实现,在可见的页面是会重复绘制页面的,所以绝大部分人都会在这里做一些代码处理比如:static NSString *CellIdentifier = @"LazyTa转载 2015-05-15 14:41:12 · 211 阅读 · 0 评论 -
IOS 如何选择delegate、notification、KVO?
前面分别讲了delegate、notification和KVO的实现原理,以及实际使用步骤,我们心中不禁有个疑问,他们的功能比较类似,那么在实际的编程中,如何选择这些方式呢? 在网上看到一个博客上详细的分析了三者之间的区别以及各自的优势,博文地址为http://blog.shinetech.com/2011/06/14/delegation-notification-and-o转载 2015-05-15 11:31:22 · 158 阅读 · 0 评论 -
IOS异常处理
IOS异常处理 Crash分为两种,一种是由EXC_BAD_ACCESS引起的,原因是访问了不属于本进程的内存地址,有可能是访问已被释放的内存;另外一种是未被捕获的Objective-C异常 (NSException),导致程序向自身发送了SIGABRT信号而崩溃。 SIGABRT(也叫做EXC_CRASH)是一个比较好解决的Creash转载 2015-05-20 15:56:56 · 267 阅读 · 0 评论 -
浅析ios开发中Block块语法的妙用
事实上,任何一个应用的开发都离开多线程。而“块”block与GCD就是苹果OC语言中多线程的核心。 一.块的内部结构 在oc中,块语法以闭包的形式存在,每一个Objective-C对象都占据着某个内存区域。块本身也是一个对象,在存放块的对象内存区域中,首个变量是指向Class的指针,该指针叫做isa。其余内存里含有块对象正常运转所需的各种信息。 以下是块语法的内部结构变量。 1.void* i转载 2015-05-15 11:20:53 · 169 阅读 · 0 评论 -
ios 委托(delegate)和block 对比
这篇文章建议和前一篇一起看, 另外先弄清楚IOS的block是神马东东。 委托和block是IOS上实现回调的两种机制。Block基本可以代替委托的功能,而且实现起来比较简洁,比较推荐能用block的地方不要用委托。 本篇的demo和前一篇是同一个,可以到github上下载不同的版本, 源码下载地址:https://github.com/pony-maggi转载 2015-05-15 11:22:45 · 485 阅读 · 0 评论 -
iOS 火星坐标相关整理及解决方案汇总
这几天在处理定位相关的代码,彻彻底底的被火星坐标恶心到了。恶心列表从 CLLocationManager 取出来的经纬度放到 mapView 上显示,是错的!从 CLLocationManager 取出来的经纬度去 Google Maps API 做逆地址解析,当然是错的!从 MKMapView 取出来的经纬度去 Google Maps API 做逆地址解析终于对了。去百度地图转载 2015-05-21 18:26:13 · 219 阅读 · 0 评论 -
GCD教程(一):基本概念
什么是GCD?Grand Central Dispatch或者GCD,是一套低层API,提供了一种新的方法来进行并发程序编写。从基本功能上讲,GCD有点像NSOperationQueue,他们都允许程序将任务切分为多个单一任务然后提交至工作队列来并发地或者串行地执行。GCD比之NSOpertionQueue更底层更高效,并且它不是Cocoa框架的一部分。除了代码的平行执行能力,GC转载 2015-05-18 14:12:47 · 205 阅读 · 0 评论 -
id和class
[1] id和Class在Objective-C中有一个特别的数据类型作为对象标识符:id,可以指向任何类型的对象。通过 “可以指向任何类型的对象” 这一描述,猜想id实际上是指向Objective-C对象系统中的基类(继承体系中的祖先结构)的指针,在运行时是指向对象内存布局的基类部分。id数据类型是一个指向struct objc_object结构的指针:转载 2015-05-18 17:15:00 · 269 阅读 · 0 评论 -
Objective-C内存布局
在我的理解来说: 对象(object)即一块内存,本文要探讨的是一个Objective-C对象在内存的布局(layout)问题,水果的官方文档有说,一个类(class)如果不需要从NSObject继承其某些特定的行为是不用继承NSObject的,这里我将讨论限制在继承了NSObject的类的对象范围内。首先来看一下,NSObject的定义:1 @interface NSObject转载 2015-05-18 17:39:14 · 404 阅读 · 0 评论 -
在 iOS 7 中获取唯一标识符(UDID/UUID)
在 iOS 7 中获取唯一标识符(UDID/UUID)发表于 08/27/2014 作者 zrong — 暂无评论 ↓ 23,873 次查看本站文章除注明转载外,均为本站原创或者翻译。本站文章欢迎各种形式的转载,但请18岁以上的转载者注明文章出处,尊重我的劳动,也尊重你的智商;本站部分原创和翻译文章提供markdown格式源码,欢迎使用文章源码进行转载;转载 2015-09-15 15:31:02 · 326 阅读 · 0 评论