
IOS随手摘录
Vicent_Z
态度决定一切,细节决定成败!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
一些开源的IOS项目(wifi扫描 条形码扫描 tcp/ip 等等)
扫描wifi信息:http://code.google.com/p/uwecaugmentedrealityproject/http://code.google.com/p/iphone-wireless/条形码扫描:http://zbar.sourceforge.net/iphone/sdkdoc/install.htmltcp/ip的通讯协议:h转载 2013-05-15 15:03:58 · 1821 阅读 · 0 评论 -
【IOS】开源项目汇总(更新时间2012-6-11)
UI界面类项目:Panoramagl —— 720全景展示Panorama viewer library for iPhone, iPad and iPod touchMBProgressHUD —— 进度指示一种优雅的,半透明的进度显示效果。同时还提供了其他附加功能,比如显示完成信息并淡出。iCarousel —— 效果很酷的分页排列转载 2013-05-21 17:39:38 · 1843 阅读 · 0 评论 -
IOS atomic与nonatomic,assign,copy与retain的定义和区别
atomic和nonatomic用来决定编译器生成的getter和setter是否为原子操作。 atomic 设置成员变量的@property属性时,默认为atomic,提供多线程安全。 在多线程环境下,原子操作是必要的,否则有可能引起错误的结果。加了atomic,setter函数会变成下转载 2013-05-22 16:45:42 · 1199 阅读 · 0 评论 -
IOS,objective_C中用@interface和 @property 方式声明变量的区别
一直有疑问,在objective_C中声明变量会有 2种方式,今天有空和网友讨论了下,并且自己查了stackoverflew后算是稍微弄懂了一点。记录如下: 用了一段oc;会发现有2种定义变量的方式 1.在 @interface :NSObject{} 的括号中,当然NSObject 是指一个父类,可以是其他的。 形式如下:1 @in转载 2013-05-22 17:16:29 · 1362 阅读 · 0 评论 -
IOS 强弱引用
保留一个对象创建了一个对该对象的“强”引用。一个对象只有在它的所有强引用都被释放后才能被回收。因此,一个对象的生命周期取决于其强引用的所有者。在某些情况下,这种行为可能并不理想。您可能想要引用一个对象而不妨碍对象本身的回收。对于这种情况,您可以获取一个“弱”引用。弱引用是通过存储一个指向对象的指针创建的,而不是保留对象。 弱引用在可能会出现循环引用的情况下是必不可少的。例如,如果对象A和转载 2013-05-22 17:33:01 · 4425 阅读 · 0 评论 -
Objective-C -深浅复制
转载:http://blog.sina.com.cn/s/blog_991afe570101h9yp.html 读前小提示:对于深浅复制有一个清楚的了解,对于学习oc的朋友来说,至关重要。那么首先,我们要明白深浅复制是如何定义的呢。这里为了便于朋友们理解,定义如下。 浅 复 制:在复制操作时,对于被复制的对象的每一层复制都是指针复制。 深转载 2013-05-23 11:11:23 · 1574 阅读 · 0 评论 -
iOS的主要框架介绍
本文是《Sunvey the Major Framworks》一文的翻译 框架是一个目录,这个目录包含了共享库,访问共享库里代码的头文件,和其它的图片和声音的资源文件。一个共享库定义的方法或函数可以被应用程序调用。 IOS提供了很多你可以在应用程序里调用的框架。要使用一个框架,需要将它添加到你的项目中,你的项目才可以使用它。许多应用程序都使用了如 Found转载 2013-05-23 15:48:14 · 1222 阅读 · 0 评论 -
提问的艺术
原文http://lifehacker.com/software/c ... f-asking-191451.php翻译提问的艺术(中文版)在网络世界里,当提出一个技术问题时,你能得到怎样的回答?这取决于挖出答案的难度, 同样取决于你提问的方法。本指南旨在帮助你提高发问技巧,以获取你最想要的答案……不想掩饰对这样一些人的蔑视--他们不愿思考,或者在发问前不去转载 2013-05-09 15:16:45 · 1195 阅读 · 0 评论 -
iOS分类和扩展(Categories和Extensions)
分类(Category) 分类能够做到的事情主要是:即使在你不知道一个类的源码情况下,向这个类添加扩展的方法。 此外,分类能够保证你的实现类和其他的文件区分开。 1 #import “UIViewController.h”2 @interface UIViewController(CustomView)3 -(void)extMeth转载 2013-05-23 10:57:45 · 1580 阅读 · 0 评论 -
ios 视图渲染架构和原理
1. ios通过视图来展示屏幕上的内容,但是UIView类的许多基础行为却严重依赖于另外一个对象。 UIKit每个视图对象的背后都有一个CoreAnimation层对象,它是一个CALayer类的实例,该类为视图内容的渲染,布局,合成以及动画提供基础性的支持。2. 和Mac OS不同的是, ios将CoreAnimation集成到视图渲染实现的核心。 由于SDK中UIKit提供转载 2013-05-23 10:42:20 · 1708 阅读 · 0 评论 -
ios 正则表达式
1.去RegexKitLite下载类库,解压出来会有一个例子包及2个文件,其实用到的就这2个文件,添加到工程中。 备用地址:http://www.cocoachina.com/bbs/job.php?action-download-pid-135286-tid-18111-aid-11143.html - Lv2.工程中添加libicucore.dylib frameworks转载 2013-05-23 15:29:10 · 2942 阅读 · 0 评论 -
KVO/KVC总结
1.KVC和KVO的概念1.1 KVC:NSKeyValueCoding的简称,是一种可以直接通过字符串的名字(key)来访问类属性的机制,而不是通过调用的Setter、Getter方法访问。1.2 KVO:NSKeyValueObserving的简称,当指定的对象的属性被修改了,允许对象接收到通知的机制。2 详述在很多时候接触到很多地方都有对 KVC,KVO 的描原创 2013-05-23 22:04:11 · 2770 阅读 · 1 评论 -
IOS 5中的strong和weak关键字
在Apple推出IOS 5后,就新增了很多功能,在开发中也一样,比如storyboard,个人觉得这真是个非常好的创新和工具,大大简化了开发,同时也更加生动。今天将谈谈IOS 5中新增的strong和weak关键字strong 用来修饰强引用的属性;@property (strong) SomeClass * aObject; 对应原来的 @pr转载 2013-05-23 22:23:30 · 1105 阅读 · 0 评论 -
iphone 开源项目
1.ASIHTTPRequest http封装类,封装了ios平台http操作,很好用homepage:http://allseeing-i.com/ASIHTTPRequest/source:https://github.com/pokeb/asi-http-request/tree 2.jsonframeworkjson编解码,解码成di转载 2013-05-24 11:36:40 · 1269 阅读 · 0 评论 -
Quartz Core 图层编程
一、添加 Quartz Core 框架要使用 Quartz Core 框架,你需要将其添加到你的工程中 。 然后 #import 二、认识图层对 ps 有所了解的人都知道图层的概念,在这里也一样。在PS中一张图片至少得有一个图层,一个或多个图层的叠加构成了一张位图。我们这里一个或多个图层的叠加的构成了UIView(或其派生类)对象。看过我关于 UIView 文章的人可能转载 2013-05-24 11:19:23 · 1105 阅读 · 0 评论 -
ios事件的通知方法
1 关于观察者观察者模式是维持两个模块之间抽象关系的最强大的方式之一。观察者模式包括一个发布已发生事件的模块以及响应该事件的另一模块的若干个的实例。它和直接调用第二个模块的方法不同,因为第一个模块不需要关注有多少个观察者,从而实现观察者和被观察者之间更加完全的抽象关系。2 手动广播者和监听者(Broadcaster and listeners)手动的方式需要广播者保有一个监转载 2013-05-24 10:47:43 · 1324 阅读 · 0 评论 -
CALayer
什么是CALayer? CALayer(这里简单地称其为层)。 首先要说的是CALayers 是屏幕上的一个具有可见内容的矩形区域,每个UIView都有一个根CALayer, 其所有的绘制(视觉效果)都是在这个layer上进行的。 UILabel* lable = [[UILabel alloc]initWithFrame:CGRectMake(0, 0, 100, 30)];转载 2013-05-24 11:29:59 · 1534 阅读 · 0 评论 -
谈谈iOS Animation
零.前言这里没有太多的代码细节,只是探索iOS动画的基本概念,以及其抽象模型,数学基础等.我们学习一个知识的时候一般有两个部分,抽象部分和形象部分,抽象好比语言的语法,是规则,形象好比具体的句子,可以用来和别人交流的.抽象比形象难于理解,但比形象通用.其实数学中经常碰到抽象和形象的概念,比如有一系列离散的点,这是形象;通过这些点我们拟合出一条曲线,得到其函数,函数是抽象的;然后通过这个函数转载 2013-05-24 16:26:37 · 1193 阅读 · 0 评论 -
Object-C常用第三方库
使用Object-C的第三方库封装了许多常用界面和功能,用这些苦不仅可以节约大量时间,还可以做出不错的效果。同样的东西自己来编写代码可能就需要花费大量的时间和精力,还不定能成功。下面列举常用的第三方用,持续更新。 BWStatusBarOverlay 定制状态栏 MWPhotoBrowser 照片浏览器 FTCoreText 富文本编辑 Le转载 2013-05-15 15:56:43 · 2276 阅读 · 0 评论 -
Xcode的控制台调试命令
XCode4.0以后,编译器换成了LLVM 编译器 2.0与以前相比,更加强大:1.LLVM 编译器是下一带开源的编译技术.完全支持C, Objective-C, 和 C++.2.LLVM 速度比 GCC快两倍,建立的程序也会运行的更快. 因为它更好的利用现代的芯片的结构.3.LLVM和Xcode 4完全的整合在一起.包括关键字高亮,代码完整性等全都是由LLVM语法分析器来分析转载 2013-05-15 13:44:56 · 1470 阅读 · 0 评论 -
[IOS] Storyboard全解析
原文地址:http://www.iteye.com/topic/1122979(Storyboard)是一个能够节省你很多设计手机App界面时间的新特性,下面,为了简明的说明Storyboard的效果,我贴上本教程所完成的Storyboard的截图: 现在,你就可以清楚的看到这个应用究竟是干些什么的,也可以清楚的看到其中的各种关系,这就是Storyboard的强大之处了。如果你要制作原创 2013-06-04 11:15:21 · 1693 阅读 · 2 评论 -
IOS UIFont 字体大全
原文地址:http://285746555.blog.51cto.com/2966432/587897http://blog.youkuaiyun.com/sanpintian/article/details/7397596我们在开发中很多时候要设置UIlabel,UIbutton,UItextfield的字体,这个时候我们就需要用到UIFont,下面简单介绍一下UIFont的用法,仅原创 2013-06-04 11:26:33 · 4782 阅读 · 0 评论 -
iOS中assign、copy 、retain等关键字的含义(转载)
原文出处:http://www.2cto.com/kf/201205/133943.htmlassign: 简单赋值,不更改索引计数copy: 建立一个索引计数为1的对象,然后释放旧对象retain:释放旧的对象,将旧对象的值赋予输入对象,再提高输入对象的索引计数为1Copy其实是建立了一个相同的对象,而retain不是:比如一个NSString对象,地址为0×1111原创 2013-06-06 20:34:56 · 1213 阅读 · 0 评论 -
IOS 中的常量const
const意味着”只读”,下面的声明都是什么意思?const int a;int const a;const int *a;int * const a;int const * a const; 前两个的作用是一样,a是一个常整型数。第三个意味着a是一个指向常整型数的指针(也就是,整型数是不可修改的,但指针可以)。第四个意思a是一个指向整型数的常指针(也就是说,指针指向的整型原创 2013-06-19 20:45:38 · 3029 阅读 · 0 评论 -
IOS中的static
函数体内 static变量的作用范围为该函数体,不同于 auto变量。(1)该变量的内存只被分配一次,因此其值在下次调用时仍维持上次的值;(2)在模块内的 static全局变量可以被模块内所用函数访问,但不能被模块外其它函数访问;(3)在模块内的 static函数只可被这一模块内的其它函数调用,这个函数的使用范围被限制在声明它的模块内;(4)在类中的 stati原创 2013-06-19 20:49:13 · 2237 阅读 · 0 评论 -
IOS中#import,#include和@class
@class一般用于头文件中需要声明该类的某个实例变量的时候用到,在m文件中还是需要使用#import。而#import比起#include的好处就是不会引起重复包含。原创 2013-06-19 20:52:10 · 1466 阅读 · 0 评论 -
IOS中堆和栈的区别
管理方式:对于栈来讲,是由编译器自动管理,无需我们手工控制;对于堆来说,释放工作由程序员控制,容易产生memory leak。申请大小:栈:在Windows下,栈是向低地址扩展的数据结构,是一块连续的内存的区域。这句话的意思是栈顶的地址和栈的最大容量是系统预先规定好的,在WINDOWS下,栈的大小是2M(也有的说是1M,总之是一个编译时就确定的常数),如果申请的空间超过栈的剩余空间时,原创 2013-06-19 20:57:40 · 3946 阅读 · 2 评论 -
IOS关于变量声明的例子
问题: a)一个整型数(Aninteger) b)一个指向整型数的指针( A pointer to some kind ofinteger) c)一个指向指针的的指针,它指向的指针是指向一个整型数( A pointer to a pointer to some kind ofinteger) d)一个有10个整型数的数组( An assortment of 10integers原创 2013-06-20 14:31:12 · 1741 阅读 · 0 评论 -
IOS中的ViewController 的loadView、viewDidLoad、viewDidUnload
由init、loadView、viewDidLoad、viewDidUnload、dealloc的关系说起:1 init方法在init方法中实例化必要的对象(遵从LazyLoad思想)init方法中初始化ViewController本身2 loadView方法当view需要被展示而它却是nil时,viewController会调用该方法。不要直接调用该方法。如果手工维护vi原创 2013-06-20 14:02:26 · 2997 阅读 · 1 评论 -
Autorealse pool中的对象的release
引用计数为0时。autorelease实际上只是把对release的调用延迟了,对于每一个Autorelease,系统只是把该Object放入了当前的Autorelease pool中,当该pool被释放时,该pool中的所有Object会被调用Release。对于每一个Runloop,系统会隐式创建一个Autorelease pool,这样所有的releasepool会构成一个象Ca原创 2013-06-20 10:47:12 · 2225 阅读 · 0 评论 -
IOS中的id与nil
1 idid和void *并非完全一样。在上面的代码中,id是指向struct objc_object的一个指针,这个意思基本上是说,id是一个指向任何一个继承了Object(或者NSObject)类的对象。需要注意的是id是一个指针,所以你在使用id的时候不需要加星号。比如id foo=nil定义了一个nil指针,这个指针指向NSObject的一个任意子类。而id *foo=nil则原创 2013-06-20 14:15:02 · 2103 阅读 · 0 评论 -
IOS系统架构
iPhone OS(现在叫iOS)是iPhone, iPod touch 和 iPad 设备的操作系统. 1,Core OS: 是用FreeBSD和Mach所改写的Darwin, 是开源、符合POSIX标准的一个Unix核心。这一层包含或者说是提供了整个iPhone OS的一些基础功能,比如:硬件驱动转载 2013-06-21 09:59:55 · 1340 阅读 · 0 评论 -
IOS学习之十六:网络数据的XML解析
网络应用中的数据解析,因为最近的应用,无论是Android的和ios平台的,一直用也是建议用的都是Json解析,xml解析都有点被遗忘了。然后最近自己在做着玩一个ios的小应用,涉及网络数据的抓取,一些网站可能都提供了自己api平台,这些一般都是支持我们对于数据协议格式的设定的。但是后来我在找寻到一些Rss资源时,发现返回的数据都是xml格式的,因此,那就只好用xm原创 2013-07-05 16:51:30 · 972 阅读 · 0 评论 -
iOS - 判断程序是否是第一次启动 & 进程延迟
//判断是否第一次启动 if (![[[NSUserDefaults standardUserDefaults] objectForKey:kClientappidPrefKey] boolValue]) { } //启动时停留2秒,进程延迟2秒。 [NSThread sleepForTimeInterval转载 2013-07-08 18:08:09 · 1158 阅读 · 0 评论 -
怎么让一个label始终在animation图片的上方
[self.view bringSubviewToFront:myLabel];转自:http://blog.youkuaiyun.com/u010996022/article/details/9268709转载 2013-07-08 18:14:06 · 2009 阅读 · 0 评论 -
iOS NSDate日期加减
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm"];日期加 NSDate *Date0 = [datePicker date]; NSTimeInterva转载 2013-07-08 19:11:48 · 3576 阅读 · 0 评论 -
iOS绘图教程
本文是《Programming iOS5》中Drawing一章的翻译,考虑到主题完整性,在翻译过程中我加入了一些书中没有涉及到的内容。希望本文能够对你有所帮助。本文由海水的味道翻译,转载请注明译者和出处,请勿用于商业用途!Core Graphics Framework是一套基于C的API框架,使用了Quartz作为绘图引擎。它提供了低级别、轻量级、高保真度的2D渲染。该框架可以转载 2013-07-08 20:13:58 · 1554 阅读 · 0 评论 -
iOS 学习笔记 8 NSUserDefaults学习
NSUserDefaults类用于保存应用程序设置和属性以及用户数据。例如,你可以存储用户在应用程序中使用的图片或默认颜色方案。这些对象存储在iOS所谓的“defaults系统”中。iOS的defaults系统在整个app中都是可用的,因此存放到defaults系统中的数据也是整个应用程序生命周期中可用的。也就是说,无论用户关闭程序还是关机,在用户再次打开程序或开机后这些数据仍然存在。转载 2013-07-08 20:21:15 · 881 阅读 · 0 评论 -
iOS 学习笔记9 NSBundle 学习
bundle的意思是应用程序束的意思,在IOS开发中,存在三种类型的bundle,分别是框架bundle、应用程序bundle和设置bundle。另外还有一种解释就是Xcode让您能够将多个文件组合成有机的整体,这就叫bundle。实际上,bundle就是一个目录,或者叫包。bundle的有点在于它能不露痕迹的存储文件的多个版本,并在特定的条件下使用正确的版本。我们平常接触比较多的就是应用程序bu转载 2013-07-08 20:28:55 · 1081 阅读 · 0 评论 -
IOS常用代码
0.关于set,get方法关于set方法//assign -(void)setMyObject:(id)newValue{ _myObject = newValue; }//retain-(void) setMyObject:(id)newValue{ if(_myObject != newValue)转载 2013-07-08 20:53:42 · 1764 阅读 · 0 评论