摘要:
1.应用程序->实用工具->keychain Access->操作如图12.将上图导出的证书、AppleWWDRCA.cer、mythlinkDeveloper.mobileprovision一起发送给你需要共享的用户。3.AppleWWDRCA.cer这个证书很重要,因为没有这个证书的话会出现以下错误This certificate was signed by an unknown authority或者中文的 此证书由末知颁发机构签名 错误。4.如果还有问题 certificate the more 这样的问题那应该是,你有多个开发证书造成冲突了,删除你重复的证书,再编译 阅读全文
摘要:
遵循规则:构造先父类后子类析构先子类后父类所以,自定义的init函数需要首先[super init....] dealloc中[super dealloc]却是放在最后的- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil{ self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; if (self) { // Custom initialization } return self;}- (void)deallo 阅读全文
摘要:
三种方式的常量声明:1, define#define kDetailKey @"detail text"#define DOWNLOAD_TIMEOUT 60.0#define degreesToRadian(x) (M_PI * (x) / 180.0)2, enumtypedef enum{kTagLanguageView = 100,kTagSeriesView ,}TagSystemViews;3, staticstatic NSString *BlockColorAlphaComponentKey = @"blockColorAlphaCompon... 阅读全文
摘要:
因为objective-c的集合对象,比如nsarray, nsdictionary, nsset等,都有可能包含nsnull对象,所以,如果以下代码中的item为nsnull,则会引起程序崩溃。NSString *item = [NSArray objectAtIndex:i];if ([item isEqualToString:@"TestNumber"]){//}常见的错误还有release的对象没有设置为nil,从而引起程序崩溃id someObject = [[Object alloc] init];//[someObject release];//if (som 阅读全文
摘要:
本文介绍的Xcode搭建真机调试环境 图文实例,图文并茂,使我们学习起来更方便些,我们先来看内容。AD: 2013云计算架构师峰会超低价抢票中Xcode搭建真机调试环境 是本文要介绍的内容,不多说,我们之间进入主题,在Xcode 3.2.5(我用的版本)中,可以简化步骤。注:最好在Safari上完成下面步骤,因为在其它浏览器上可以不到正常上传文件。步骤一,添加真机设备:打开 https://developer.apple.com/ios/manage/devices/index.action,在Devices中添加真机设备,方法可以参考上面推荐的文档。99美元注册的账号,只能添加100台设备( 阅读全文
摘要:
1,- (void)viewWillAppear:(BOOL)animated 中注册notification [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(actionSheetSelect:) name:@"actionSheetSelect" object:nil];2,在接收notification地方实现方法体-(void)actionSheetSelect:(NSNotification *)notification{ NSString* obj = (NSSt 阅读全文
摘要:
我一直觉得在任何一门语言中,集合都是一个比较重要的概念.我们在处理数据时,大量需要用到集合.前面我们分别介绍了 NSArray,NSDictionary,NSSet以及它们的可变形式,NSMutableArray,NSMutableDictionary ,NSMutableSet等.Foundation中集合相关类的继续关系如下图:NSArray用于对象有序集合(相当于是数组) NSSet用于对象无序集合 NSDictionary用于键值映射 以上三种集合类是不可变的(一旦初始化后,不能再动态的增加或删除元素),如果需要用到可变集合,则需要用到下面几个类: NSMutableArray NSM 阅读全文
摘要:
NSArray:有序的集合,NSSet:无序的集合,散列存储。但是NSSet保证数据的唯一性。当插入相同的数据时,不会有任何效果。从内部实现来说是hash表。NSMutableSet是NSSet的子类,是NSSet的可变形式。NSSet、NSMutableSetNSSet的使用 [NSSet setWithSet:(NSSet *)set]; 用另外一个set对象构造 [NSSet setWithArray:(NSArray *)array];用数组构造 [NSSet setWithObjects:...]:创建集合对象,并且初始化集合中的数值,结尾必需使用nil标志。 [set count] 阅读全文
摘要:
词典(dictionary)顾名思义就是同由键-值组成的数据集合.与在词典中查找单词定义一样,可以通过对象的键从词典中获取需要的对象,看到 这里,你是不是想起了java中的map?和NSArray一样,一个词典对象也能保存不同类型的值,词典也分别有不可变词典和可变的词典 (NSDictionary与NSMutableDictionary),前者是线程安全的,后者不是 。不可变词典NSDictionary[NSDictionary dictionaryWithObjectsAndKeys:..] : 使用键值对创建词典对象,结尾必需使用nil标志结束。 [dictionary count]: 得 阅读全文
摘要:
Objective-C中除了可以使用C中的基本数组外,如int[5],char word[] ={‘a’,'b’,'c’};Foundation还提供了NSArray类.Foundation是有序的对象集合.NSArray保存的对象可以是 不同的对象。但只能保存对象,int ,char,double等基本数据类型不能直接保存,需要通过转换成对象才能加入数组。例如下面的代码在运行时会报错:NSArray *arrs = [[NSArray alloc]initWithObjects:@”abc”,@”123″,456,nil];就 像NSString和NSMutableStrin 阅读全文
摘要:
从本系列文章的开始,我们就使用过字符串对象,但是我们却还没有比较详细的介绍过它.使用@符,再一对双引号将一组字符串引用起来,例如:@”In fact, Objective-C is very simple.”;就 是使用Objective-C语言创建了一个字符串对象.Foundation框架使用一个名为NSString的类,用于处理字符串对句.正如我们所看 到的,在Objective-C中创建一个常量字符串对象,需要在字符串开头放置一个@符号.特殊情况下,它属于NSConstantString类的常 量字符串对象.NSConstantString类是NSString类的子类.可变对象与不可变对 阅读全文
摘要:
在Objective-C中,我们可以使用c中的数字数据类型,int、float、long等。它们都是基本数据类型,而不是对象。也就是说,不能够向它们发送消息。然后,有些时候需要将这些值作为对象使用。NSInteger、NSUInteger当你不知道程序运行哪种处理器架构时,你最好使用NSInteger,因为在有可能int在32位系统中只是int类型,而在64位系统,int可能变是long型。除非不得不使用int/long型,否则推荐使用NSInteger。从上面的定义可以看出NSInteger/NSUInteger是一种动态定义的类型,在不同的设备,不同的架构,有可能是int类型,有可能是lo 阅读全文
摘要:
1、类的继承我们说Objective-C也是一门面向对象的语言,因此也具有面向对象语言的基本特征.在Objective-C的继承体系中,位于最顶层的根类是NSObject,类比Java中的java.lang.Object类,我们定义的所有类都是它的子类。我们知道在Java中继承一个类需要extend... 阅读全文
摘要:
单例模式用于当一个类只能有一个实例的时候,通常情况下这个“单例”代表的是某一个物理设备比如打印机,或是某种不可以有多个实例同时存在的虚拟资源或是系统属性比如一个程序的某个引擎或是数据。用单例模式加以控制是非常有必要的。单例模式需要达到的目的1.封装一个共享的资源2.提供一个固定的实例创建方法3.提供一个标准的实例访问接口单例模式的创建本文以创建一个MySingletonClass的单例模式为例。首先,我们需要定义一个类MySingletonClass.[cpp] view plaincopy@interfaceMySingletonClass:NSObject{}并且为其添加一个类方法(注意, 阅读全文
摘要:
什么是CategoryCategory模式用于向已经存在的类添加方法从而达到扩展已有类的目的,在很多情形下Category也是比创建子类更优的选择。新添加的方法 同样也会被被扩展的类的所有子类自动继承。当知道已有类中某个方法有BUG,但是这个类是以库的形式存在的,我们无法直接修改源代码的时 候,Category也可以用于替代这个已有类中某个方法的实体,从而达到修复BUG的目的。然而却没有什么便捷的途径可以去调用已有类中原有的那个被替 换掉方法实体了。需要注意的是,当准备有Category来替换某一个方法的时候,一定要保证实现原来方法的所有功能,否则这种替代就是没有意义而且会引 起新的BUG。和 阅读全文
摘要:
Modol View Controller(MVC)是一种最早的也是最成功的可重用的设计模式,70年代的时候首次在smaltalk编写的程序中成功使用。基于MVC设计 模式,Cocoa整体架构可以划分为三个子系统:Model, View, Controller,我们可以相应的理解为:数据模型,视图和控制器。Modol View和Controller的角色要想理解MVC设计模式中每个子系统的角色,我们就需要理解一个应用程序的功能和行为。我们知道一个应用程序通常需要存储数据信息,检索数据信息以及把这些数据信息呈现给用户,同时还要允许用户对数据进行编辑(增删查改等操作)。那么MVC的角色就分别为:M 阅读全文
摘要:
我们前面提到了OOP的继承,我们说Objective-C不像C++可以有多重继承,Objective-C是单一继承的,如果想要做到一个类别同时拥有多种型别的能力,我们就可以通过协议来实现。Objective-C中的协议就是java中的接口(interface),在Java中用”interface”这个关键字,在Objective-C则是用”@protocol”。(要特别注意不要把interface跟protocol搞混了,在Objective-C的interface等于java的class,而protocol则是相当于java中的interface).定义Protocol很简单,在声明文件(h 阅读全文