iOS技术点
临窗看雨
临窗看雨雨千行,步入此间拥雨行;
从然漫步此乾坤,静看千滴骤雨忙.
展开
-
CocoaPods的学习
一、什么是CocoaPods1、为什么需要CocoaPods在进行iOS开发的时候,总免不了使用第三方的开源库,比如SBJson、AFNetworking、Reachability等等。使用这些库的时候通常需要:下载开源库的源代码并引入工程向工程中添加开源库使用到的framework解决开源库和开源库以及开源库和工程之间的依赖关系、检查重复添加的framework等转载 2014-12-23 10:05:43 · 614 阅读 · 0 评论 -
Objective-C 引用计数
引用计数如何存储有些对象如果支持使用 TaggedPointer,苹果会直接将其指针值作为引用计数返回;如果当前设备是 64 位环境并且使用 Objective-C 2.0,那么“一些”对象会使用其 isa 指针的一部分空间来存储它的引用计数;否则 Runtime 会使用一张散列表来管理引用计数。其实还有一种情况会改变引用计数的存储策略,那就是是否使用垃圾回收(用UseGC属性判断转载 2015-12-10 18:40:27 · 995 阅读 · 0 评论 -
深入理解Tagged Pointer
前言在2013年9月,苹果推出了iPhone5s,与此同时,iPhone5s配备了首个采用64位架构的A7双核处理器,为了节省内存和提高执行效率,苹果提出了Tagged Pointer的概念。对于64位程序,引入Tagged Pointer后,相关逻辑能减少一半的内存占用,以及3倍的访问速度提升,100倍的创建、销毁速度提升。本文从Tagged Pointer试图解决的问题入手,带转载 2015-12-10 18:48:17 · 512 阅读 · 0 评论 -
Autorelease的学习
我是前言Autorelease机制是iOS开发者管理对象内存的好伙伴,MRC中,调用[obj autorelease]来延迟内存的释放是一件简单自然的事,ARC下,我们甚至可以完全不知道Autorelease就能管理好内存。而在这背后,objc和编译器都帮我们做了哪些事呢,它们是如何协作来正确管理内存的呢?刨根问底,一起来探究下黑幕背后的Autorelease机制。Autore转载 2015-12-10 19:07:03 · 466 阅读 · 0 评论 -
cocoapods的安装,使用,卸载,以及你可能会遇到的坑..
首先, 不会用cocoapods的话如过你接手某些新项目是用cocoapods写的你会疯, 其次他真的很好用, 当然某些坑也是存在的,比如你用它导入了AFNetwork然后你需要修改一些AF的内部的代码以适应你项目的特殊需求,这时候cocoapods就会报错, 报错, 报错… OK,下面步入正题 在安装CocoaPods之前,首先要在本地安装好Ruby环境。MAC系统自带ruby环境原创 2015-07-20 19:38:29 · 11963 阅读 · 0 评论 -
ios开发人员找工作必备知识点
简历注意事项1、 简历可以写的一般,但是排版一定要整齐,标题和正文要区分明显,不允许出现错别字和日期时间对不上等低级错误2、 在描写自己的能力是,一定要分清精通、熟悉、掌握、了解这些修饰词的使用,切记不要乱用3、 在写项目经验时,把最新的放在最前面,由近到远,项目的周期不要紧挨着(3-5,5-8,8-9这样不行,尽量中间有空隙时间)4、 每个原创 2014-11-25 09:30:27 · 1170 阅读 · 0 评论 -
iOS真机调试教程
原创 2014-12-31 12:03:42 · 480 阅读 · 0 评论 -
git 常用命令
最基本的命令:git clone git@XXXXXX... 然后输入密码这样可以拷贝并跟踪远程的master分支。跟踪的好处是以后可以直接通过pull和push命令来提交或者获取远程最新的代码,而不需要指定远程分支名字。git@XXXXXX...指git上你的代码的路径更新代码, -f 指强制推上去,会覆盖原有的git服务器上的文件 慎用git add .原创 2014-12-29 13:49:45 · 440 阅读 · 0 评论 -
AFNetworking的学习
AFNetworking是一个讨人喜欢的网络库,适用于iOS以及Mac OS X. 它构建于在NSURLConnection, NSOperation, 以及其他熟悉的Foundation技术之上. 它拥有良好的架构,丰富的api,以及模块化构建方式,使得使用起来非常轻松.例如,他可以使用很轻松的方式从一个url来得到json数据:1NSURL *url = [NSURL URLW转载 2014-12-11 11:22:06 · 595 阅读 · 0 评论 -
关于block的copy和循环引用问题
在实际开发中,发现使用Block有着比delegate和notification更简洁的优势。于是在目前的项目中大量的使用block。 在我的头文件我是这样声明使用block的。[plain] view plaincopy@interface BrushViewController : BaseViewController转载 2014-12-10 15:12:54 · 412 阅读 · 0 评论 -
判断ios设备版本号,是否为iPad
1. 判断是否是iPad #define IS_IPAD (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) 2. iOS版本判断 #if __IPHONE_OS_VERSION_MAX_ALLOWED > __IPHONE_5_1 [navigationController.navigationBar addS转载 2014-11-25 09:27:35 · 568 阅读 · 0 评论 -
iOS 更改webView文字颜色丶文字大小丶背景色的方法
在webView的delegate回调方法-webViewDidFinishLoad:(UIWebView*)webView;中写上一下语句即可 //字体大小 [webView stringByEvaluatingJavaScriptFromString:@"document.getElementsByTagName('body')[0].style.web原创 2014-12-27 13:55:04 · 1833 阅读 · 1 评论 -
地图的使用
#import "ViewController.h"#import @interface ViewController ()@property(nonatomic, retain)MKMapView *map;@property(nonatomic, retain)CLGeocoder *geocoder;@end@implementation ViewContro原创 2014-11-25 09:32:54 · 534 阅读 · 0 评论 -
宏的使用
iOS开发过程中使用一些常用的宏可以提高开发效率,提高代码的重用性;将这些宏放到一个头文件里然后再放到工程中的-Prefix.pch文件中(或者直接放到-Prefix.pch中)直接可以使用非常方便。本文整理自http://www.cocoachina.com/applenews/devnews/2013/0328/5907.html 。做了一些分类和注释,可以根据自己习惯再添加或转载 2014-11-25 09:41:36 · 404 阅读 · 0 评论 -
block的学习
iOS4已经直接支持blocks,很有必要学习一下。在ios,blocks是对象,它封装了一段代码,这段代码可以在任何时候执行。Blocks可以作为函数参数或者函数的返回值,而其本身又可以带输入参数或返回值。它和传统的函数指针很类似,但是有区别:blocks是inline的,并且它对局部变量是只读的。Blocks的定义: int (^myBlock) (int a,转载 2014-11-25 11:15:58 · 422 阅读 · 0 评论 -
ASIHTTPRequest类库简介和使用说明
官方网站: http://allseeing-i.com/ASIHTTPRequest/ 。可以从上面下载到最新源码,以及获取到相关的资料。使用iOS SDK中的HTTP网络请求API,相当的复杂,调用很繁琐,ASIHTTPRequest就是一个对CFNetwork API进行了封装,并且使用起来非常简单的一套API,用Objective-C编写,可以很好的应用在Mac OS X系统和iO转载 2014-12-11 10:19:31 · 441 阅读 · 0 评论 -
UIAlertView的使用,以及自动消失
一 UIAlertView的使用UIAlertView* alert=[[UIAlertViewalloc] initWithTitle:@"提示"message:@"标签获取失败"delegate:selfcancelButtonTitle:@"确定"otherButtonTitles:nil];[alertshow];二 UIAler原创 2015-01-14 17:06:36 · 474 阅读 · 0 评论 -
OC .(点)与->(箭头)用法区别
OC里.和->的用法区别, 一位前辈的解释很生动形象, 贴过来大家分享 #import @interface Test : NSObject{ int temp; //成员变量}@end@implementation Test@endint main(){ Test *t = [[Test alloc] init]; t->temp = 100; NSL转载 2015-12-10 18:42:58 · 2256 阅读 · 0 评论