- 博客(22)
- 收藏
- 关注
原创 视图缩放动画
效果:视图从大--小缩放显示/小--大 (只是比例问题)方法1.直接show出view的时候:把下面的这段代码加到viewController或者view出现的时候就OKself.view.transform = CGAffineTransformMakeScale(1.0f, 1.0f);//将要显示的view按照正常比例显示出来[UIView beginAnimations
2015-07-31 11:56:28 292
原创 KVO
简而言之就是: 1、当一个object有观察者时,动态创建这个object的类的子类2、对于每个被观察的property,重写其set方法3、在重写的set方法中调用- willChangeValueForKey:和- didChangeValueForKey:通知观察者4、当一个property没有观察者时,删除重写的方法5、当没有observer
2015-07-28 18:35:27 241
原创 ARC
在objective-c中,内存的引用计数一直是一个让人比较头疼的问题。尤其是当引用计数涉及到arc、blocks等等的时候。似乎ARC的出现只是让我们解放了双手,由于底层实现依然依赖引用计数,所以开启ARC后,只有对引用计数机制更加了解,才能避免Cycle Retain、Crash等问题的出现。 但是由于使用ARC可以显著提高编码效率,所以建议尽量启用arc,本文内容也将以arc为
2015-07-28 18:32:31 305
转载 iOS地图位置开发
iOS地图位置开发iPhone SDK提供了三个类来管理位置信息:CLLocation CLLocationManager 和 CLLHeading(不常用)。除了使用GPS来获取当前的位置信息外,iPhone也可以基于WiFi基站和无线发射塔来获得位置信息。GPS的精度最高,可以精确到米级别,但是也最耗电。------------CLLocationCLLoc
2015-07-24 14:28:40 358
转载 Block
代码块本质上是和其他变量类似。不同的是,代码块存储的数据是一个函数体。使用代码块是,你可以像调用其他标准函数一样,传入参数数,并得到返回值。脱字符(^)是块的语法标记。按照我们熟悉的参数语法规约所定义的返回值以及块的主体(也就是可以执行的代码)。下图是如何把块变量赋值给一个变量的语法讲解:按照调用函数的方式调用块对象变量就可以了:int result = myB
2015-07-23 10:01:58 193
原创 Masonry介绍与使用实践(快速上手Autolayout)
前言1MagicNumber -> autoresizingMask -> autolayout以上是纯手写代码所经历的关于页面布局的三个时期在iphone1-iphone3gs时代 window的size固定为(320,480) 我们只需要简单计算一下相对位置就好了在iphone4-iphone4s时代 苹果
2015-07-13 18:29:43 460
转载 Autolayout
这篇不是autolayout教程,只是autolayout动员文章和经验之谈,在本文第五节友情链接和推荐中,我将附上足够大家熟练使用autolayout的教程。这篇文章两个月前就想写下来,但因为一直工作较多,没有时间来完成。今天终于狠下心,丢下代码不写,来完成他吧!一、别和我提Autolayout,我想死!!从iOS6/xcode4开始,苹果开始提供了autolayout——一种对
2015-07-13 17:48:33 343
转载 iCarousel
文档支持的操作系统和SDK版本支持构建目标 - 的iOS 5.1 / MAC OS 10.7(苹果的Xcode 4.3.3 LLVM编译器3.1 )最早支持的部署目标 - 的iOS 4.3 / Mac OS 10.7中最早兼容的部署目标 - 3.2的iOS / Mac OS 10.6的注: '支持'意味着这个版本已经过测试,该库。 '兼容'的意思,图书馆应在此版本的操作系统
2015-07-13 17:40:41 1194
转载 YTKNetwork
YTKNetwork 是什么YTKNetwork 是猿题库 iOS 研发团队基于 AFNetworking 封装的 iOS 网络库,其实现了一套 High Level 的 API,提供了更高层次的网络访问抽象。YTKNetwork 现在同时被使用在猿题库公司的所有产品的 iOS 端,包括:猿题库、 小猿搜题、 猿辅导 、 粉笔直播课 。YTKNetwork提供了哪些功能
2015-07-13 17:35:05 524
原创 IOS 第三方管理库管理 CocoaPods
越来越多的SVN管理,越来越多的工程文件,我不能总是那么一个一个的把第三方库拖进去,我厌倦了拖拽和配置,我找到了替代方法--CocoaPods英文好的可以直接读一下我参考的网页 http://www.raywenderlich.com/12139/introduction-to-cocoapods不嫌我唠叨 我就自己慢慢敲第一步:安装CocoaPods是跑在Ruby
2015-07-13 15:04:45 253
转载 Socket
socket简介tcp和udp的区别TCP三次握手和四次挥手TCP三次握手tcp四次挥手tcpsocket和udpsocket的具体实现tcpsocket的具体实现udpsocket的具体实现socket简介首先让我们通过一张图知道socket在哪里?Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。
2015-07-09 16:08:43 396
原创 ios动画
iOS中的动画 Core AnimationCAAnimation:CAPropertyAnimation CAKeyframeAnimationCATransitionUIView动画Block动画UIImageView的帧动画UIActivityIndicatorViewiOS中的动画 Core Animation
2015-07-09 15:05:02 281
原创 loadView、viewDidLoad及viewDidUnload的关系
标题中所说的3个方法,都是UIViewController的方法,跟UIViewController的view属性的生命周期息息相关。接下来我会一一阐述它们的作用以及它们之间的联系。loadView1.什么时候被调用?每次访问UIViewController的view(比如controller.view、self.view)而且view为nil,loadView方法就会被调用。
2015-07-09 10:24:03 223
转载 Core Data
简介 Core Data是iOS5之后才出现的一个框架,它提供了对象-关系映射(ORM)的功能,即能够将OC对象转化成数据,保存在SQLite数据库文件中,也能够将保存在数据库中的数据还原成OC对象。在此数据操作期间,我们不需要编写任何SQL语句,这个有点类似于著名的Hibernate持久化框架,不过功能肯定是没有Hibernate强大的。简单地用下图描述下它的作用:
2015-07-09 10:17:58 329 1
原创 FMDB
来自:https://github.com/ccgus/fmdb由于FMDB是建立在SQLite的之上的,所以你至少也该把这篇文章从头到尾读一遍。与此同时,把SQLite的文档页 http://www.sqlite.org/docs.html 加到你的书签中。自动引用计数(APC)还是手动内存管理呢?两种都行,FMDB会在编译的时候知道你是用的哪一种,然后进行相应处理。
2015-07-08 17:45:43 238
原创 循环引用
一、parent-child相互持有、委托模式【案例】:?123456@interfaceFTAppCenterMainViewController (){} @property(weak,nonatomic) UITableView* m
2015-07-08 10:44:58 314
原创 Autorelease
1、autorelease是什么?autorelease是一种支持引用计数的内存管理方式它可以暂时的保存某个对象(object),然后在内存池自己的排干(drain)的时候对其中的每个对象发送release消息注意,这里只是发送release消息,如果当时的引用计数(reference-counted)依然不为0,则该对象依然不会被释放。可以用该方法来保存某个对象,也要注意保存之后
2015-07-08 10:08:57 316
原创 AppStore App加速审核
有没有遇到上线后发现很严重的bug这种情况,修复bug后提交审核又是漫长的等待,那样会把人逼疯的。估计是为了对应这样的情况,apple提供有一个加速审核的通道:https://developer.apple.com/appstore/contact/appreviewteam/index.html 界面如下:
2015-07-07 15:13:33 338
转载 内存泄露检测
1、运行Demo。先下载一个实现准备好的内存泄露的Demo吧:leak app下载下来,打开运行,程序是一个寿司的列表,列出各种寿司卷。试着选择里面的几行,应该是选第二行的时候就崩溃了。崩溃截图:在崩溃的地方断住了,知道crash的地方了,但是不知道具体crash的原因。2、设置NSZombieEnabled这是一个 “E
2015-07-07 15:06:43 296
翻译 内存管理策略(memory Management Policy)
内存管理策略(memory Management Policy)NSObject protocol中定义的的方法和标准命名惯例一起提供了一个引用计数环境,内存管理的基本模式处于这个环境中。NSObject类定义了一个方法叫dealloc,当对象销毁的时候,dealloc会被自动调用。本文描述,在Cocoa中所有正确管理内存基本规则,并提供了一些使用正确的例子。 【基本的
2015-07-07 10:43:16 834
原创 CocoaPods的安装和使用介绍
CocoaPods的安装和使用介绍安装安装方式异常简单, Mac下都自带ruby,使用ruby的gem命令即可下载安装:12$ sudo gem install cocoapods$ pod setup如果你的gem太老,可能也会有问题,可以尝试用如下命令升级gem:1
2015-07-07 10:33:06 291
原创 GCD
Grand Central Dispatch (GCD)是Apple开发的一个多核编程的解决方法。dispatch queue分成以下三种:1)运行在主线程的Main queue,通过dispatch_get_main_queue获取。// 后台执行: dispatch_async(dispatch_get_global_queue(0, 0), ^{
2015-07-06 11:17:56 243
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人