黑马程序员-[OC]学习之旅-NSString使用和方法

id 和instancetype

1、instancetype只能作为函数或者方法的返回值

2、id能作为方法或者函数的返回值、参数类型,也能作为定义变量

3、instancetype能精确的限制返回值的具体类型

protocol代理设计模式

传入的对象,代替当前类完成了某个功能,为带了模式

利用协议实现代理模式:

1、定义一个协议,里面声明代理类需要实现的方法列表,如代理类需要实现feelBaby和HongSleep方法

2、创建一个代理类(BaoMu),遵守上面的代理协议

3、在需要代理的类(Baby)中,定义一个对象类型为id且遵守代理协议的成员变量

4、在Baby类中调用成员变量_delegate(代理)的方法,调用代理类的方法

5、mian.m或其他使用Baby类的文件中,为Baby类的成员变量(代理类)赋值

代理模式的场合:

监听器的场合

通知的唱哈

有些事情,不想自己处理,想交给别人处理

Foundation框架

由许多类、方法、函数、文档按照一定的逻辑组织起来的集合。

NSString 介绍

一个NSString对象就代表一个字符串(文字内容),一般称NSString为字符串类

  

  1. 1.最直接的方式:

  2. NSString *str = @"abc"; //字符串在常量区

  3. 2.格式化的方式:

  4. NSString *str2 = [NSString stringWithFormat:@"%@","jack"];
  5. //自字符串在堆区

  6. 3.从文件读取

  7. //定义字符串
  8. NSString *str3 = @"welcome to luoyang";

  9. NSError *err;//开始写入字符

  10. [str writeToFile:@"/User/ning/Desktop/1.txt" atomically:YES encoding:NSUTF8StringEncoding error:&err];

  11. //判断是否出错
  12. if(err != nil){
  13. NSLog(@"写入失败");
  14. }else{
  15. NSLog(@"写入成功");
  16. }

  17. 从文件读入
  18. NSString *str4 = [NSString stringWithContentsOfFile:@"/User/apple/Desktop/1.txt " enconding:NSUTF8StringEncoding error:&err];

  19. //如果读取到内容
  20. if( errr == nil){NSLog(@"读取成功");}
  21. else{NSLog(@"读取失败");}

  从NSURL中读取

URL全称Uniform Resource Locator(统一资源定位符)

格式:协议  服务器的域名 路径  http://ios.itast.cn/ios/images/content 25.jpg

常见的URL协议头

http  https  ftp

  1. 传入完整的字符串的创建
  2. NSURL *url = [NSURL URLWithString :@"file:///Users/apple/Desktop/1.txt"]

  3. 通过文件路径创建
  4. NSURL *url = [NSURL fileURLWithPath:@"/Users/apple/1.txt"];


NSString的常见方法:

-(NSString *)uppercaseString;

全部字符转为大写字符

-(NSString *)lowercaseString;

全部字符转为小字符

-(NSString *)capitalizedString;

首字母大写,其他字母都变小写,如果一个句子中有多个单词,那么将会每个单词的首字母变成大写

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

两个字符串的内容相同就返回YES,否则NO

比较的是两个对象的地址是否相同,不是内容

-(NSComparisonResult)compare:(NSString *)string;

-(NSComparisonResult)compare:(NSString *)string options:NSCaseInsensitiveSearch];

NSCaseInsensitiveSearch:不区分大小写

NSLiteralSearch:进行完全比较,区分大小写。(默认)

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

比较两个字符串的内容的大小

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

是否以aString开头

  1. NSString *str = @"http://www.baidu.cn";

  2. BOOL isYes = [str hasPrefix:@"http://"];判断是否合法的网址

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

判断字符串的后缀

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

用来检查字符串内容是否包含aString   

  1. NSString *str = @"http://ios.itcast.cn";
  2. NSRange range = [str rangeOfString:@"itcast"];

反向搜索:[str rangeOfString :@"str" options:NSBackwarksSearch];

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

从指定的位置开始到尾部

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

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

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

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

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

-(NSUInteger)length;

返回字符串的长度

-(unichar)charaterAtIndex:(NSUInteger )index;

返回index位置对应的字符

+ (id)whitespaceCharacterSet; //去掉头尾空格

+ (id)lowercaseLetterCharacterSet; // 去掉头尾的小写字母

+ (id)uppercaseLetterCharacterSet; //去掉头尾的大写字母

+ (id)characterSetWithCharactersInString:(NSString *)aString; // 去掉头尾的指定字符串

去除首尾的空格

[str stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];


NSRange使用

创建方式:

<span style="font-size:18px;"><span style="white-space:pre">	</span><span style="color:#3333ff;">NSRange range;
		range.location = 7; range.length = 3; 
	NSRange range = {7,3};
	NSRange range = {.location = 7,.length = 3};
	NSRange range = NSMakeRange(7,3);
	NSRange range;
		range.location = 7; range.length = 3; 
	NSRange range = {7,3};
	NSRange range = {.location = 7,.length = 3};
	NSRange range = NSMakeRange(7,3);</span></span>


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值