摘要:
苹果SDK自带的就有密码保护,使用方法很简单,如下:1、引入Security.frameWork框架。2、引入头文件:SFHKeychainUtils.h.3、存密码:[SFHFKeychainUtilsstoreUsername:@"dd"andPassword:@"aa"forServiceName:SERVICE_NAMEupdateExisting:1error:nil];[SFHFKeychainUtilsdeleteItemForUsername:@"dd"andServiceName:SERVICE_NAMEerror: 阅读全文
posted @ 2013-03-25 11:41
清风拂月晓
阅读(166)
评论(0)
推荐(0)
摘要:
iOS5和iOS6横竖屏同时支持iOS6中抛弃了- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation方法,为了同时支持iOS5和iOS6系统的横竖屏切换,可用如上代码?12345678910111213141516171819201 info.plist中Supported interface orientations中加入所有方向的支持 2 AppDelegate中加入方法 -(NSUInteger)application:(UIApplication *)app 阅读全文
posted @ 2013-03-25 11:40
清风拂月晓
阅读(159)
评论(0)
推荐(0)
摘要:
引用地址:http://blog.csdn.net/chenshizero/article/details/6200262今天遇到一个很郁闷的问题:新做的ipad程序中,界面居然在未作任何配置的情况下不支持旋转了。通过在uitabbarcontroller的旋转事件添加nslog发现,其完全没有被触发。通过网上查资料 在cocochina上找到了答案是位hanzengbo 的朋友的解答 原文如下“昨天忙乎了一天,没搞定。今天早上终于搞定了。贴出来希望能对遇到相似问题的哥们有用。前面搜到的答案都说是uitabbarcontroller的问题。但是我重新写了个小程序,也使用了tabbar这个控件, 阅读全文
posted @ 2013-03-25 11:37
清风拂月晓
阅读(700)
评论(0)
推荐(0)
摘要:
一、loadView永远不要主动调用这个函数。view controller会在view的property被请求并且当前view值为nil时调用这个函数。如果你手动创建view,你应该重载这个函数。如果你用IB创建view并初始化view controller,那就意味着你使用initWithNibName:bundle:方法,这时,你不应该重载loadView函数。这个方法的默认实现是这样:先寻找有关可用的nib文件的信息,根据这个信息来加载nib文件,如果没有有关nib文件的信息,默认实现会创建一个空白的UIView对象,然后让这个对象成为controller的主view。所以,重载这个函 阅读全文
posted @ 2013-03-25 11:35
清风拂月晓
阅读(278)
评论(0)
推荐(0)
摘要:
前面分别讲了delegate、notification和KVO的实现原理,以及实际使用步骤,我们心中不禁有个疑问,他们的功能比较类似,那么在实际的编程中,如何选择这些方式呢? 在网上看到一个博客上详细的分析了三者之间的区别以及各自的优势,博文地址为http://blog.shinetech.com/2011/06/14/delegation-notification-and-observation/,因为博文是用英文写的,下面将其翻译成中文。 在开发ios应用的时候,我们会经常遇到一个常见的问题:在不过分耦合的前提下,controllers间怎么进行通信。在IOS应用不断的出现三种模式来实现这 阅读全文
posted @ 2013-03-25 11:17
清风拂月晓
阅读(166)
评论(0)
推荐(0)
摘要:
UISegmentedControl分段控件代替了桌面OS上的单选按钮。不过它的选项个数非常有限,因为你的IOS设备屏幕有限。当我们需要使用选项非常少的单选按钮时它很合适。一、创建UISegmentedControl* mySegmentedControl = [[UISegmentedControl alloc]initWithItems:nil];是不是很奇怪没有指定位置和大小呢?没错,我确实在他的类声明里只找到 initWithItems 而未找到 initWithFrame ,所以他不需要指定,不过我看到了另一个方法,这个方法可以设置Item的宽度:源码打印?mySegmentedCo 阅读全文
posted @ 2013-03-25 11:16
清风拂月晓
阅读(178)
评论(0)
推荐(0)
摘要:
问题描述:在一个页面实例化播放器,并且播放视频文件:[myTabBarControllerpresentMoviePlayerViewControllerAnimated:_moviePlayerController];当自己重写了一个UIViewController页面,要在这个重写一个播放器。_myPlayer=[[MyNewPlayerControlleralloc]initWithNibName:@"MyNewPlayerController"bundle:nil];[myTabBarControllerpresentViewController:_myPlayer 阅读全文
posted @ 2013-03-25 11:15
清风拂月晓
阅读(202)
评论(0)
推荐(0)
摘要:
[IOS] Storyboard全解析-第一部分(Storyboard)是一个能够节省你很多设计手机App界面时间的新特性,下面,为了简明的说明Storyboard的效果,我贴上本教程所完成的Storyboard的截图: 现在,你就可以清楚的看到这个应用究竟是干些什么的,也可以清楚的看到其中的各种关系,这就是Storyboard的强大之处了。如果你要制作一个页面很多很复杂的App,Storyboard可以帮助你解决写很多重复的跳转方法的麻烦,节省很多时间,以便你能够完全的专注于核心功能的实现上。 开始 首先启动Xcode,新建一个工程,我们在这里使用Single View App Tem... 阅读全文
posted @ 2013-03-25 10:19
清风拂月晓
阅读(482)
评论(0)
推荐(0)
摘要:
在iPhone上是采用sqlite进行数据存储是我一种比较习惯性的做法。一般在其他平台也比较习惯用sqlite,比如android。而iphone上有一些封装好的第三方框架提供使用,更节省了许多时间。如:Sqlitepersistentobjects ,FMDB。今天查找了这个两个框架,感觉FMDB的风格更符合我的使用,其实两者是各有优点的,只是看个人喜好而已。以下是FMDB的一些基本使用,FMDB框架其实只是一层很薄的封装,主要的类也就两个:FMDatabase和FMResultSet;其中的FMResultSet对象让我想起了android中sqlite的cursor集合啊。FMDB的gi 阅读全文
posted @ 2013-03-25 10:17
清风拂月晓
阅读(173)
评论(0)
推荐(0)
摘要:
1)object c 基本类型ID:指向OC对象的指针;CLASS;SEL:是OC来定义方法的关键字,你可以把他当做一个函数指针来使用;BOOL:YES,NO;TRUE,FLASE;空值处理不当是引起程序错误的重要原因。nil:给对象赋值NULL:给指针赋值NSNULL: 用于集合操作;2)常量的声明和预处理宏常量的声明1 #define kdetailkey @"detail text" #define dd 30.0 #define cc pi*3/180.0 常量的声明2 typedef enum { aa=100, bb, cc , }TagSystemViews 阅读全文
posted @ 2013-03-25 10:14
清风拂月晓
阅读(545)
评论(0)
推荐(0)
摘要:
1)componentsSeparatedByString:截取指定字符串;2) pathForResource:获取程序运行时目录3) objectAtIndex:获取当前索引的字符串;4) rangeOfString:获取指定短字符串在长字符串中的开始,结尾索引值;5) stringWithContentsOfFile:按行读取文件6) componentsSeparatedByString:@"\n"];换行分割字符串;7) NSEnumerator *nse = [lines objectEnumerator];将数组转换为NSEnumerator,可向前读取数据; 阅读全文
posted @ 2013-03-25 10:11
清风拂月晓
阅读(278)
评论(0)
推荐(0)
摘要:
用法总结:NSArray,NSSet,NSDictionaryFoundation framework中用于收集cocoa对象(NSObject对象)的三种集合分别是:NSArray 用于对象有序集合(数组)NSSet 用于对象无序集合 (集合)NSDictionary用于键值映射(字典)以上三种集合类是不可变的(一旦初始化后,就不能改变)以下是对应的三种可变集合类(这三种可变集合类是对应上面三种集合类的子类):NSMutableArrayNSMutableSet 可修改的集合。主要用于集合运算(并集,交集,差集)NSMutableDictionary 允许用户添加和删除key和value注: 阅读全文
posted @ 2013-03-25 10:10
清风拂月晓
阅读(193)
评论(0)
推荐(0)
摘要:
协议,是通过网络,计算机使用者进行通讯后,互相进行约定规定的集合。两个类进行通讯,用协议就比较方便。下面是 CocoaChina 版主“angellixf”为新手写的协议入门介绍以及代码例子,希望对刚入门开发者有所帮助一、说明 1.协议声明了可以被任何类实现的方法 2.协议不是类,它是定义了一个其他对象可以实现的接口 3.如果在某个类中实现了协议中的某个方法,也就是这个类实现了那个协议。 4.协议经常用来实现委托对象。一个委托对象是一种用来协同或者代表其他对象的特殊对象。 5:委托,就是调用自己定义方法,别的类来实现。 6.新特性说明 @optional预编译指令:表示可以选择实现的方法 @r 阅读全文
posted @ 2013-03-25 10:09
清风拂月晓
阅读(309)
评论(0)
推荐(0)
摘要:
NSOperation的用法:多线程编程是防止主线程堵塞,增加运行效率等等的最佳方法。而原始的多线程方法存在很多的毛病,包括线程锁死等。在Cocoa中,Apple提供了NSOperation这个类,提供了一个优秀的多线程编程方法。1) 将想在另外一个线程的工作单独成类,并设置其父类为NSOperation:@interface ImageLoadingOperation : NSOperation { NSURL *imageURL; //这个例子里面需要传入一个图片地址,所以定义一个NSURL变量 id target; //由于需要返回一些值,所以需要一个对象参数返回要被返回的对象(运行此线 阅读全文
posted @ 2013-03-25 10:08
清风拂月晓
阅读(184)
评论(0)
推荐(0)
摘要:
a. 关于变量的作用域;b.静态变量(static);c. atomic和nonatomic ;关于变量的作用域;protected —Methods defined in the class and any subclasses can directly access the instance variables that follow.This is the default case.该类和所有的子类中的方法可以直接访问这样的变量,这是默认的。private —Methods defined in the class can directly access the instance var 阅读全文
posted @ 2013-03-25 10:07
清风拂月晓
阅读(137)
评论(0)
推荐(0)
摘要:
IOS 关键字#synthesize关键字: 根据@property设置,自动生成成员变量相应的存取方法,从而可以使用点操作符来方便的存取该成员变量 。@implementation 关键字,表明类的实现 @end 结束self 关键字 :类似于java中的this,是隐藏参数,指向当前调用方法的类。super 关键字 :调用父类的方法。self = [superinit] 这里不是判断self与[superinit]是否相等,而是判断是否可以成功初始化。[super init]:父类初始化成功的话,通过=给self,这样self成为一个非空对象,整个来说即非false(非NO)。#impor 阅读全文
posted @ 2013-03-25 10:06
清风拂月晓
阅读(169)
评论(0)
推荐(0)
摘要:
如果你刚开始接触 iOS 或 Mac OS X 编程,首先要学习一点编程语言 Objective-C 入门知识。Objective-C 并不是一门复杂的语言,经过一段时间的接触,你就能体会到它的优雅。Objective-C 语言实现了严格的面向对象编程。它扩展了标准 ANSI C 语言,增加了定义类和方法的语法。它还推行类和接口的动态扩展性,使任何类都能适配和采用。如果你已经掌握了 ANSI C 语言,下面的内容能够帮助你掌握 Objective-C 的基本语法。如果你有其他面向对象编程语言的基础,你会发现 Objective-C 中含有大量传统的面向对象概念,例如封装、继承、多态性等。反过来 阅读全文
posted @ 2013-03-25 09:11
清风拂月晓
阅读(253)
评论(0)
推荐(0)
摘要:
一种是通过#import方式引入; 另一种是通过@class引入;#improt: 会包含被引用类的所有信息;@class方式只是告诉编译器在A.h文件中 B *b 只是类的声明,具体这个类里有什么信息,这里不需要知道,等实现文件中真正要用到时,才会真正去查看B类中信息;1、#import方式会包含被引用类的所有信息,包括被引用类的变量和方法;@class方式只是告诉编译器在A.h文件中 B *b 只是类的声明,具体这个类里有什么信息,这里不需要知道,等实现文件中真正要用到时,才会真正去查看B类中信息;2、使用@class方式由于只需要只要被引用类(B类)的名称就可以了,而在实现类由于要用到. 阅读全文
posted @ 2013-03-25 09:07
清风拂月晓
阅读(143)
评论(0)
推荐(0)
摘要:
Core Animation基础Core Animation利用了硬件加速和架构上的优化来实现快速渲染和实时动画。当视图的drawRect:方法首次被调用时,层会将描画的结果捕捉到一个位图中,并在随后的重画中尽可能使用这个缓存的位图,以避免调用开销很大的drawRect:方法。这个过程使Core Animation得以优化合成操作,取得期望的性能。Core Animation把和视图对象相关联的层存储在一个被称为层树的层次结构中。和视图一 样,层树中的每个层都只有一个父亲,但可以嵌入任意数量的子层。缺省情况下,层树中对象的组织方式和视图在视图层次中的组织方式完全一样。但是,您可以在 层树中添加 阅读全文
posted @ 2013-03-25 09:06
清风拂月晓
阅读(280)
评论(0)
推荐(0)
摘要:
[iPhoneSDK]CF Socket 简介上文提及,使用BSD socket进行数据发送。由于iPhone的SDK 里面提供的接口是CF Socket。简单DEMO下。一点基础补充:Socket接口是TCP/IP网络的API,Socket接口定义了许多函数或例程,程序员可以用它们来开发TCP/IP网络上的应用程序。要学Internet上的TCP/IP网络编程,必须理解Socket接口。Socket接口设计者最先是将接口放在Unix操作系统里面的。如果了解Unix系统的输入和输出的话,就很容易了解Socket了。网络的Socket数据传输是一种特殊的I/O,Socket也是一种文件描述符。S 阅读全文
posted @ 2013-03-25 08:57
清风拂月晓
阅读(194)
评论(0)
推荐(0)
摘要:
UITableView学习笔记 作者:一片枫叶 看TableView的资料其实已经蛮久了,一直想写点儿东西,却总是因为各种原因拖延,今天晚上有时间静下心来记录一些最近学习的TableView的知识。下面进入正题,UITableView堪称UIKit里面最复杂的一个控件了,使用起来不算难,但是要用好并不容易。当使用的时候我们必须要考虑到后台数据的设计,tableViewCell的设计和重用以及tableView的效率等问题。下面分9个方面进行介绍:一、UITableView概述 UITableView继承自UIScrollVie... 阅读全文
posted @ 2013-03-25 08:55
清风拂月晓
阅读(124)
评论(0)
推荐(0)
浙公网安备 33010602011771号