oc中的基本框架Foundation

•Foundation框架提供了非常多好用的类, 比如

NSString : 字符串

NSArray : 数组

NSDictionary : 字典

NSDate : 日期

NSData : 数据

NSNumber : 数字

1.首先介绍NSString

a.NSString的创建

1)最直接的方式(这是常量字符串)

NSString *str = @"hehe";

2)格式化的方式

NSString *str = [NSString stringWithFormat:@"My age is %d", 10];

NSString *str = [[NSString alloc] initWithFormat:@"My age is %d", 10];

3)从文件中读取

// 用来保存错误信息

NSError *error = nil;

// 读取文件内容

NSString *str = [NSString stringWithContentsOfFile:@"/Users/mj/Desktop/test.txt" encoding:NSUTF8StringEncoding error:&error];

// 如果有错误信息

if (error) {

NSLog(@"读取失败, 错误原因是:%@", [error localizedDescription]);

} else { // 如果没有错误信息

NSLog(@"读取成功, 文件内容是:\n%@", str);

}

4)从URL中读取

NSError *error = nil;

NSURL *url = [NSURL URLWithString:@"file:///Users/mj/Desktop/test.txt"];

NSString *str = [NSString stringWithContentsOfURL:url encoding:NSUTF8StringEncoding error:&error];

if (error) {

NSLog(@"读取失败, 错误原因是:%@", [error localizedDescription]);

} else {

NSLog(@"读取成功, 文件内容是:\n%@", str);

}

2.NSString的存储

NSString  *str = @"哈哈哈";

[str writeToFile:@"/Users/mj/Desktop/str.txt" atomically:YES encoding:NSUTF8StringEncoding error:nil];

[str writeToURL:[NSURL URLWithString:@"/Users/mj/Desktop/str.txt"] atomically:YES encoding:NSUTF8StringEncoding error:nil];

3.NSString的头文件中一些重要的方法

1)全部字符转为大写字母

- (NSString *)uppercaseString;

2)全部字符转为小写字母

- (NSString *)lowercaseString

3)首字母变大写,其他字母都变小写

- (NSString *)capitalizedString

4)字符串的比较

- (BOOL)isEqualToString:(NSString *)aString;

5)字符串的搜索

a.是否以aString开头

- (BOOL)hasPrefix:(NSString *)aString;

b.是否以aString结尾

- (BOOL)hasSuffix:(NSString *)aString;

c.用来检查字符串内容中是否包含了aString

- (NSRange)rangeOfString:(NSString *)aString;

6.截取字符串的一些方法

a.从指定位置from开始(包括指定位置的字符)到尾部

- (NSString *)substringFromIndex:(NSUInteger)from;

b.从字符串的开头一直截取到指定的位置to,但不包括该位置的字符

- (NSString *)substringToIndex:(NSUInteger)to;

c.按照所给出的NSRange从字符串中截取子串

- (NSString *)substringWithRange:(NSRange)range;

d.用replacement替换target

- (NSString *)stringByReplacingOccurrencesOfString:(NSString *)target withString:(NSString *)replacement;

还有其他的方法,用到时可以去他的文件中查看,也不需要记忆这些方法,只需了解这些方法,用到的时候,能够去头文件中找到对应的方法就OK了

时间: 2024-10-23 20:33:24

oc中的基本框架Foundation的相关文章

OC中Foundation框架的基本对象之数字对象

在Objective-C的程序编写主要用到两个框架 foundation和ApplicationKit.其中Foundation框架主要定义了一些基础类.Foundation框架中所有的类均继承自NSObject对象. Foundation框架中所提到的数字类型,可以通过NS数字类型将基本的数据类型封装到对象中,然后通过相应的对象进行操作. 1.数字对象的介绍 2.数字对象的创建并初始化 2.1用numberWith基本数据类型进行初始化(基本数据类型首字母大写). 格式:  数字对象=[NSN

OC中的NSDate日期类和Foundation框架中的结构体相关操作

一:NSDate NSDate可以?用来表?示时间,可以进?行?一些常见的?日期\时间处理 • ?一个NSDate对象就代表?一个时间• [NSDate date]返回的就是当前时间 1)日期对象的格式化操作 // 1,获取当前时间 // NSDate *date = [NSDate date]; // NSLog(@"date = %@", date); // // // 格式化输出时间 //// y : 年 //// // M : 月 //// // d : 日 //// // h

OC中Foundation框架

框架的概念 1 框架是由许多类.方法.函数.文档按照一定的逻辑组织起来的组合,以便使研发程序变的更容易在OS X下地Mac操作系统中大约有80个框架为所有程序开发奠定基础的框架称为Foundation框架 1 Foundation框架允许使用一些基本对象,如数字和字符串,以及一些对象集合,如数组,字典和集合,其他功能包括处理日期和时间.内存管理.处理文件系统.存储(或归档)对象.处理几何数据结果(如点和长方形) 2 Cocoa是Foundation和AppKit 3 Cocoa Touch是Fo

OC中Foundation框架之NSArray、NSMutableArray

NSArray概述 1 NSArray是OC中的数组类 NSArray特点 1 1)只能存放任意OC对象,并且是有顺序的 2 2)不能存放非OC对象,比如int/float/double/char/enum/struct等 3 3)它是不可变的,一但初始化完毕后,它里面的内容就永远是固定的,不能删除里面的元素,也不能再玩里面添加元素 NSArray的创建方式 1 +(instancetype)array; 2 +(instancetype)arrayWithObject:(id)anObject

类比Spring框架来实现OC中的依赖注入

如果你之前使用过JavaEE开发中的Spring框架的话,那么你一定对依赖注入并不陌生.依赖注入(DI: Dependency Injection)是控制反转(IoC: Inversion of Control)的实现方式之一,另外一种是依赖查找(DL: Dependency Lookup).当然在Spring框架中主要使用到了控制反转中的依赖注入这种方式.当然在Spring框架中除了依赖注入外,还有一个重要的概念那就是面向切面编程(AOP). 简单的说,依赖注入负责往类中注入依赖对象,而面向切

简单的介绍下WPF中的MVVM框架

最近在研究学习Swift,苹果希望它迅速取代复杂的Objective-C开发,引发了一大堆热潮去学它,放眼望去各个培训机构都已打着Swift开发0基础快速上手的招牌了.不过我觉得,等同于无C++基础上手学习C#一样,即使将来OC被淘汰,那也是N年之后的事情,如果真的要做IOS开发,趁现在Swift才刚开始,花那么几个月去了解一下OC绝对是一件有帮助的事情. 扯远了,我前几天刚接触到一个叫做mvvm的框架,发现很有意思,带着学习的态度来写点东西,不足之处一起研究.还有一个很重要的原因,我发现不少同

oc中深拷贝与浅拷贝

shallow 浅拷贝       Deep深拷贝 1.产生一个新对象,对象的内容与源对象相同 2.源对象与新对象使用不同的内存区域 3.需要NSCopying 或者NSMutableCopying协议才能使用复制功能 ? 4.Fundation中得基础数据类型如Nsstring.NSNumber 等都实现了NSCopying 5.新对象的引用计数为1 6.copy与mutableCopy的区别 copy返回不可变对象(包括可变对象在内) ? mutableCopy返回可变对象 7.浅拷贝只复制

OC中的socket通信

现在很多客户端和服务器之间的交互都是通过JSON或者XML进行的,但是有时候如果数据量较小,JSON和XML就显得比较冗余 •Socket允许使用长连接,允许应用程序运行在异步模式(提高效率),只有在需要的时候才接收数据 •在iOS中以NSStream(流)来发送和接收数据 •可以设置流的代理,对流状态的变化做出相应 –连接建立 –接收到数据 –连接关闭 – 1.NSStream:数据流的父类,用于定义抽象特性,例如:打开.关闭代理,NSStream继承自CFStream(Core Founda

OC中对象拷贝概念

OC中的对象拷贝概念,这个对于面向对象语言中都会有这种的问题,只是不同的语言有不同的解决方式:C++中有拷贝构造函数,Java中需要实现Cloneable接口,在clone方法中进行操作.但是不过OC更偏向于Java这种方式,OC中如果一个对象需要被拷贝,他需要实现协议:<NSCopying>.<NSMutableCopying>从名字上我们可以看到,一个协议是用于不可变对象的,一个协议适用于可变对象的 首先来介绍一下对象的拷贝的概念吧:为什么要由对象的拷贝这么一个概念呢?看一个场