iOS中Object-C Foundation Kit框架

NSRange

用来表示相关事物的范围,通ipkhj字符串里的字符范围或者数组里的元素范围.location 字段存放该范围的起始位置,而length字段则是范围内所含元素的个数。

NSRange range = {17,4}

NSRange range = NSMakeRange(17,4);

NSPoint

代表的是笛卡尔平面中的一个点(x,y); NSMakePoint();

NSSize

用来存储长度和宽度 width,height; NSMakeSize();

NSRect

矩形数据 origin,size ; NSMakeRect();

NSString

实例化后不能进行修改 如删除字符或者添加字符的方式来改变它

stringWithFormat 类方法,不需要实例化类直接调用,支持多个动态参数

length 大小长度,能够准确无误地处理国际字符串如,俄文,中文

isEqualToString 用来比较接收方(接收消息的对象)和当作参数传递来的字符串,返回一个BOOL

compare 将接收对象和传递来的字符串 字符进行比较,它返回一个NSComparisonResult(一个enum型数据)NSOrderedAscending=-1左边的数值小于右侧的数值,NSOrderedSame左右两边的字符串相同,NSOrderedDescending,右边的数值小于左边的数值

比较两个字符串是否相等时,应该用isEqualToString,

-(NSComparisonResult)compare:(NSString *) string options:(unsigned)mask;

options值有:

NSCaseInsensitiveSearch:不区分大小写字符

NSLiteralSearch:进行完全比较,区分大小写

NSNumericSearch:比较字符串的字符个数,而不是字符串

-(BOOL)hasPrefix:(NSString *)aString;判断是否以指定的字符串开始

- (BOOL) hasSuffix:(NSString *) aString;判断是否以指定的字符串结束

-(NSRange)rangeOfString:(NSString *)aString; 字符串内的某处是否包含其他字符串

NSMutableString

+(id)stringWithCapacity:(unsigned)capacity; 用来创建对象

-(id)appendString:(NSString)astring; 附加新的字符串

-(id)appendFormat:(NSString)format,…..;附加格式化的字符串

-(void)deleteCharactersInRange:(NSRange)range;删除字符串中的字符

NSArray

与NSString一样创建的是不可变对象的数组

只能存储Object-c的对象,而不能存储C中的基本数据类型,如int 、float、enum、struct 或者NSArray中的随机指针。同时,也不能在NSArray中存储nil(对象的零值或null值)

可以通过类方法arrayWithObjects创建一个新的NSArray。

NSArray *array;

array = [NSArray arrayWithObjects:@"one",@"two",@"three",nil]

-(unsigned)count;获得它所包含的对象个数

-(id)objectAtIndex:(unsigned int)index 获取特定索引的对象

NSString *string = @"oop:ack:bork:greeble:ponies";

NSArray *chunks = [string componentsSeparatedByString: @":"] 使用NSString 的-componentsSeparatedByString来切分NSArray

string = [chunks componentsJoinedByString:@":"] 用componentsJoinedByString来合并NSArray

NSMutableArray

可变数组

NSMutableArray通过类方法arrayWithCapacity来创建新的可变数组

+(id)arrayWithCapacity:(unsigned)numItems;

-(void)addObject:(id)anObject; 在数组末尾添加对象

-(void)removeObjectAtIndex:(unsigned)index删除特定索引处的对象

NSEnumerator

它是cocoa用来描述这种集合失代运算的方式。要想使用NSEnumerator,可以通过objectEnumerator向数组请求枚举器:

-(NSEnumerator*)objectEnumerator;

eg: NSEnumerator *enumerator;

enumerator = [array objectEnumerator];

如果想要从后向前浏览集合,还有一个方法reverseObjectEnumerator

-(id)nextObject;获取下一个对象,当nextObject返回nil值时,循环结束。

eg:

id thingie;

while(thingie = [enumerator nextObject]){

…..

}

循环数组还有一种方法:

for(NSString *string in array){

NSLog(@"I found %@",string);

}

NSDictionary

在给定的关键字(通常是一个NSString字符串)下存蓄一个数值(可以是任何类型的对象)。然后你就可以用这个关键字来查找相应的数值。在创建新的NSDictionary时,就要提供该字典所存储的全部对象和关键字。

+(id)dictionaryWithObjectsAndKeys:(id)firstObject,…;创建字典。该方法接受对象和关键字交替存储的系系,以nil值作为终止符号(不能在NSDictionary中存储nil值)

eg:

NSDictionary *tires;

tires = [NSDictionary dictionaryWithObjectsAndKeys:t1,@"front-left",t2,@"front-right",t3,@"back-left",t4,@"back-right",nil];//t为对象实例

-(id)objectForKey:(id)akey; 获取字典中的值,如key不存在会返回nil值

NSMutableDictionary

允许你阴意添加和岫除字典元素。要创建新的NSMutableDictionary对象,向类NSMutableDictionary 发送dictionary消息。你也可以使用dictionaryWithCapacity:方法来创建新的可变字典并且告诉Cocoa该字典的最终大小

+(id)dictionaryWithCapacity:(unsigned int)numItems;创建字典

dictionary eg:

NSMutableDictionary *tires;

tires = [NSMutableDictionary dictionary];

-(void)setObject:(id)anObject forKey:(id)akey;向字典中添加值

-(void)removeObjectForKey:(id)akey; 删除集合中的值

NSNumber

包装基本数据类型。可以使用下列类方法创建新的NSNumber对象:

+(NSNumber *)numberWithChar:(char)value;

+(NSNumber *)numberWithint:(int)value;

+(NSNumber *) numberWithFloat:(float)value;

+(NSNumber *) numberWithBool:(BOOL)value;

将一个基本类型数据封装到NSNumber中后,就可以通过下面的实例方法重新获得它:

-(char) charValue;

-(int)intValue;

-(float)floatValue;

-(BOOL)boolValue;

-(NSString *)stringValue;

用numberWithFloat:创建的NSNumber可以用intValue来提取数值。NSNumber会对数据进行适当的转换。

NSValue

+(NSValue *)valueWithBytes:(const void *)value objCtype:(const char *)type; 创建新的NSValue

-(void)getValue:(void *)value; 提取数值

NSNull

nil的别一种对象表示法,在不能使用nil的地方使用NSNULL

+(NSNull * )null; 创建新的NSNull

时间: 2024-08-06 07:50:07

iOS中Object-C Foundation Kit框架的相关文章

iOS中集成ijkplayer视频直播框架

ijkplayer 是一款做视频直播的框架,基于ffmpeg,支持 Android 和 iOS,网上也有很多集成说明,但是个人觉得还是不够详细,在这里详细的讲一下在 iOS 中如何集成ijkplayer,即便以前从没有接触过,按着下面做也可以集成成功! 一.下载ijkplayer   ijkplayer下载地址:https://github.com/Bilibili/ijkplayer 下载完成后解压,解压后文件夹内部目录如下图: 二.编译 ijkplayer 说是编译 ijkplayer,其实

iOS中制作可复用的框架Framework

xcode6后支持在xcode中制作动态库,并且过程也十分简单. 新建一个项目,选择framework: 之后我们在里面编写我们的代码,比如我们创建一个MyObject类: @interface MyObject : NSObject -(void)myLog; @end @implementation MyObject -(void)myLog{     NSLog(@"framework"); } @end 和静态库类似,如果我们不做任何处理,打包出来的库文件只能在模拟器或者只能在

ios中object c纯代码开发屏幕适配处理方法

纯代码开发屏幕适配处理方法: 为适配iphone各个版本的机型,对ui布局中的坐标采用比例的方式进行初始化,在这里选定iphone6作为ui布局 1.首先在AppDelegate.h中定义两个属性: 1 #import <UIKit/UIKit.h> 2 3 @interface AppDelegate : UIResponder <UIApplicationDelegate> 4 5 @property (strong, nonatomic) UIWindow *window;

Objective C Foundation基础框架[转]

<pre class="cpp" name="code">iOS Foundation基础框架就是以Foundation.h头文件的库 #import <Foundation/Foundation.h> Mac OS X和iOS都使用了Foundation基础框架.该框架中有很多日后开发常用的API,非常基础重要.以下就常用的类和结构做个介绍. NSObjct NSObject类,是ObjC类族中的根类.NSObject有一些高级特性支持,在

IOS中调用系统的电话、短信、邮件、浏览功能

iOS开发系列--通讯录.蓝牙.内购.GameCenter.iCloud.Passbook系统服务开发汇总 2015-01-13 09:16 by KenshinCui, 26990 阅读, 35 评论, 收藏, 编辑 --系统应用与系统服务 iOS开发过程中有时候难免会使用iOS内置的一些应用软件和服务,例如QQ通讯录.微信电话本会使用iOS的通讯录,一些第三方软件会在应用内发送短信等.今天将和大家一起学习如何使用系统应用.使用系统服务: 调用系统应用 使用系统服务目 录 短信与邮件 通讯录

所谓的iOS中的通讯录(一)(自制简易视图版)

在iOS中,有两个框架可以访问用户的通讯录 AddressBookUI.framework 提供了联系人列表界面.联系人详情界面.添加联系人界面等 一般用于选择联系人    2. AddressBook.framework 纯C语言的API,仅仅是获取联系人数据 没有提供UI界面显示,需要自己搭建联系人展示界面 里面的数据类型大部分基于Core Foundation框架,使用起来效果不佳 从iOS6开始.需要得到用户的授权才能访问通讯录,因此在使用之前,需要检查用户是否已经授权 1.生成联系人控

IOS 中的CoreImage框架

IOS 中的CoreImage框架(framework) - time4cnblogs 时间 2014-03-15 00:24:00  博客园-所有随笔区原文  http://www.cnblogs.com/try2do-neo/p/3601546.html coreimage framework 组成 apple 已经帮我们把image的处理分类好,来看看它的结构: 主要分为三部分: 1)定义部分:CoreImage 何CoreImageDefines.见名思义,代表了CoreImage 这个

MapKit --- iOS中的地图框架

iOS中可以简单地使用MapKit框架来进行地图的相关开发工作. 基本步骤: import MapKit ViewController 继承 MKMapViewDelegate 协议 添加一个MapKit View 准备一个相应的region信息, 即以哪为中心, 方圆多少范围 在mapView中设置该region即可 添加地理位置的标注annotation 地理位置标注添加到map中的相应操作. ViewController import UIKit import MapKit class V

iOS开发—在ARC环境中,要使用第三方框架,但是这个框架是MRC(非ARC),怎么做?

在ARC环境中,要使用第三方框架,但是这个框架是MRC(非ARC),怎么做? 利用Xcode,将MRC项目转换成ARC ,但是成功率非常低 (菜单—Edit—Refactor—Conver to Object c ARC ...) 自己手动改,效率低,工作量大,非常容易出错 (推荐)如果是使用第三方框架,只需要把第三方框架打包成一个静态库就可以使用 设置MRC(非ARC)参数 设置添加动态库