1、OC基本数据类型(简单铺垫)

//   NSInteger 
在64 位下相当于long,在非64位下相当于 int;

//    CGFloat
在64位下相当于double  在非64位下相当于 float;

//如何使用API文档学习系统类库中类

//help --》Documentation and
API reference

//快捷键 option + 左键
  cmmand + 左键
进入类的头文件(严重警告:进系统头文件之后,退出时一定要按几次  cmmand +
z),看系统头文件适合已经对这个类有很大了解的学生

=========================================================

3、//  
NSString 
  是一个字符串类,而且是一个不可变的字符串类,继承自NSObject
,用NSString创建的字符对象,一经创建就不能修改;

//类簇:将一些私有的子类组合在一起形成一个公共的抽象的超类,那么这个超类就是类簇;

//创建一个字符串对象

char *s = "lanou";

NSLog(@"%s",s);

//oc中创建字符串

NSString *str =
@"lanou";//快速创建字符串的方法

NSLog(@"%@",str);

//创建空字符串

NSString *str1 = [[NSString
alloc]init];

NSLog(@"%@ %p
",str1,str1);

str1 =
@"年后";//这种改变只是指针的重指向

NSLog(@"%@ %p
",str1,str1);

NSString *str2 = [NSString
string];

NSLog(@"==%@",str2);

//创建不可变空字符串是没有任何意义的

//格式化创建不可变字符串对象

NSLog(@"lanou");

NSLog(@"lanou%@",@"i love
you");

//我 拼接上 爱凤姐

NSLog(@"我%@",@"爱凤姐");

NSString *str3 =
[[NSString  alloc]initWithFormat:@"%@
%@",@"lanou",@"i love you"];

NSLog(@"%@",str3);

NSString *str4 = [[NSString
alloc]initWithFormat:@"我%@",@"爱凤姐" ];

NSLog(@"%@",str4);

例子:字符串:@"优衣库试衣间" ,@"趣事多"

NSString *str6
=@"优衣库试衣间";

NSString *str7 = @"趣事多";

NSString *str5 = [[NSString
alloc]initWithFormat:@"%@%@",str6,str7];

NSLog(@"%@",str5);

4、//遍历构造器格式化创建字符串方法

NSString *str8 = [NSString
stringWithFormat:@"我在家里洗衣覅,%@",@"你在优衣库买衣服"];

NSLog(@"%@",str8);

//创建字符串的另一种方式(现在已经不用了);

NSString *str9 = [[NSString
alloc]initWithString:@"我在蓝欧37班"];

NSString *str10 = [NSString stringWithString:@"靠
,我也在蓝欧37班"];

NSLog(@"%@",str10);

例子:

//
============================================

5、 //将c语言字符串转换为oc字符串比如:"ios"
  @"ios"

NSString *str11 = [[NSString
alloc]initWithUTF8String:"ios"];

NSLog(@"%@",str11);

NSString *str12 = [NSString
stringWithUTF8String:"ios"];

NSLog(@"%@",str12);

6、//头文件初始化对象方法

//将文件中的字符串内容读入到字符串对象中

//第一个参数:文件的路径 
第二个参数:编码格式  第三个参数: 如果出错了返回值存放的位置

//初始化方法

NSString *str13 = [[NSString
alloc]initWithContentsOfFile:
@"/Users/laouhn/Desktop/37-Product/Lesson/OC/LessonNSString-04/Lesson-04/han.txt"encoding:NSUTF8StringEncoding
error:nil];

NSLog(@"%@",str13);

//遍历构造器方法

NSString *str14 = [NSString
stringWithContentsOfFile:@"/Users/laouhn/Desktop/37-Product/Lesson/OC/LessonNSString-04/Lesson-04/han.txt"
encoding:NSUTF8StringEncoding error:nil];

NSLog(@"%@",str14);

//
==========================================

7、 //操作字符串的方法

//计算字符串长度的方法

NSString *ss =
@"lanou3g";

NSUInteger len = [ss
length];//无符号长整形

NSLog(@"%lu",len);

一个中文占三个字节

NSString *ss2 = @"翔哥
今天晚上区如家吧?";

NSLog(@"%lu",ss2.length);

8、//返回字符串片段的方法

NSString *str15 =
@"abcdefgdef";

NSRange rang = {3,3};

NSString *subString = [str15
substringWithRange:rang];

NSLog(@"%@",subString);

9、//返回字串在父串中范围

rang = [str15
rangeOfString:@"def"];

NSLog(@"loctation:%lu length
: %lu",rang.location,rang.length);//不是点语法

//获取到从零位置到某个位置的字符不包含提供位置的字符

NSString *str16 = [str15
substringToIndex:4];

NSLog(@"%@",str16);

//从某个位置开始获取字符串,直到父串的结尾,包含这个停工未知的字符

NSString *str17 =
[str15  substringFromIndex:4];

NSLog(@"%@",str17);

//返回格式化拼接的字符串

NSString *str20 = [str16
stringByAppendingString:str17];

NSLog(@"%@",str20);

//练习3:把@“cang”后面
拼接上@“是你们的”

NSString *cangString =
@"cang";

NSString *newString
=  [cangString
stringByAppendingFormat:@"%@,%@",@"是你们的",@"不因不均"];

NSLog(@"%@",newString);

NSString *str18 = [cangString
stringByAppendingString:@"是世界的"];

NSLog(@"%@",str18);

//字符串的替换

//将目标子串从父串中用我们给定的替换掉

NSString *str19 = [str18
stringByReplacingOccurrencesOfString:@"cang"
withString:@"波多结衣"];

NSLog(@"%@",str19);

例子:

NSString *str21 =
@"中国北京中南海";

//判断字符串是否具有某个前缀或者后缀

BOOL isHas = [str21
hasPrefix:@"中国北京"];

NSLog(@"%@",isHas ?
@"有这个前缀":@"没有这个前缀");

BOOL Has = [str21
hasSuffix:@"南海"];

NSLog(@"%@",Has ?
@"有这个后缀":@"无这个后缀");

例子:

//=============================================

//比较两个字符串大小

NSString *sstr3 = @"NBa";

NSString *sstr4 = @"NBA";

NSInteger n =
  [sstr3 compare:sstr4];

switch (n) {

case NSOrderedAscending:

NSLog(@"%@
< %@",sstr3,sstr4);

break;

case
NSOrderedSame:

NSLog(@"%@
= %@",sstr3,sstr4);

break;

case
NSOrderedDescending:

NSLog(@"%@
> %@",sstr3,sstr4);

default:

break;

}

//不区分大小写的比较方式

n = [sstr3
caseInsensitiveCompare:sstr4];

NSLog(@"%ld",n);

//===================================================

10、 NSMutableString
  是可变字符串 ,继承自Nsstring,所以Nsstring
所有的方法NSMutableString都可以调用

//这种创建字符串的形式可以提高一定的效率,如果存入的字符串小于开辟的虚拟空间长度,则直接放入,免去了开辟空间的时间,如果此时开辟的空间小于要放入字符串的长度,此时就要再开辟空间

NSMutableString *mStr =
[[NSMutableString alloc]initWithCapacity:30];

//插入一个字符串

[mStr insertString:@"索宁"
atIndex:0];

NSLog(@"%@",mStr);

//创建可变字符串的另一种形式

NSMutableString *mStr1 =
[[NSMutableString alloc]initWithString:@"我和他有一个约会"];

NSLog(@"%@",mStr1);

//快速创建字符串,必须在后面加上  .mutableCopy

NSMutableString *mStr2 =
@"我与僵尸有一个约会".mutableCopy;

NSLog(@"%@",mStr2);

11、 //可变字符串拼接

//格式化拼接

[mStr2
appendFormat:@"%@",@"在日本岛" ];

NSLog(@"%@",mStr2);

//删除某段字符串

[mStr2
appendString:@"吃着炸鸡喝着啤酒"];

NSLog(@"%@",mStr2);

NSRange rang1 = {1,8};

[mStr2
deleteCharactersInRange:rang1];

NSLog(@"-----%@",mStr2);

//=========================================================

//改可变字符串

[mStr2
replaceCharactersInRange:NSMakeRange(2, 4)withString:@"任命广场"];

NSLog(@"%@",mStr2);

//每个单词的首字母大写

NSMutableString *mStr3 = @"i
am student come from DanCheng".mutableCopy;

NSString * upFirst
=  [mStr3 capitalizedString];

NSLog(@"%@",upFirst);

//将所有的字母都大写

NSString *upAllWord =   [mStr3
uppercaseString];

NSLog(@"%@",upAllWord);

//将所有字母都小写

NSMutableString *mStr4 = @"I
AM STUDENT COME FROM DANCHENG".mutableCopy;

NSString *loweAllWord = [mStr4
lowercaseString];

NSLog(@"%@",loweAllWord);

//================转载请注明出处=================


NSString/NSMutable字符串——韩俊强…的更多相关文章

  1. iOS中 扫描二维码/生成二维码详解 韩俊强的博客

    最近大家总是问我有没有关于二维码的demo,为了满足大家的需求,特此研究了一番,希望能帮到大家! 每日更新关注:http://weibo.com/hanjunqiang  新浪微博 指示根视图: se ...

  2. iOS中 扫描二维码/生成二维码具体解释 韩俊强的博客

    近期大家总是问我有没有关于二维码的demo,为了满足大家的需求,特此研究了一番,希望能帮到大家! 每日更新关注:http://weibo.com/hanjunqiang  新浪微博 指示根视图: se ...

  3. iOS中 HTTP/Socket/TCP/IP通信协议详解 韩俊强的博客

    每日更新关注:http://weibo.com/hanjunqiang  新浪微博 简单介绍: // OSI(开放式系统互联), 由ISO(国际化标准组织)制定 // 1. 应用层 // 2. 表示层 ...

  4. iOS中 HTTP/Socket/TCP/IP通信协议具体解释 韩俊强的博客

    简介: // OSI(开放式系统互联), 由ISO(国际化标准组织)制定 // 1. 应用层 // 2. 表示层 // 3. 会话层 // 4. 传输层 // 5. 网络层 // 6. 数据链接层 / ...

  5. NSString的几种常用方法—韩俊强博…

    要把 "2011-11-29" 改写成 "2011/11/29"一开始想用ios的时间格式,后来用NSString的方法搞定. 1.创建NSString字符串 ...

  6. iOS中 Realm的学习与使用 韩俊强的博客

    每日更新关注:http://weibo.com/hanjunqiang  新浪微博! 有问题或技术交流可以咨询!欢迎加入! 这篇直接搬了一份官方文档过来看的 由于之前没用markdown搞的乱七八糟的 ...

  7. iOS中 动态热修补技术JSPatch 韩俊强的博客

    .1.4) JSPatch bridge Objective-C and JavaScript. You can call any Objective-C class and method in Ja ...

  8. iOS开发中的零碎知识点笔记 韩俊强的博客

    每日更新关注:http://weibo.com/hanjunqiang  新浪微博 1.关联 objc_setAssociatedObject关联是指把两个对象相互关联起来,使得其中的一个对象作为另外 ...

  9. iOS中 最新支付宝支付(AliPay) 韩俊强的博客

    每日更新关注:http://weibo.com/hanjunqiang  新浪微博 现在的支付方式一般有三种, 支付宝, 微信, 网银. 个人觉得最简单易用的还是支付宝, 微信虽然看起来币支付宝要简单 ...

随机推荐

  1. DotnetSpider (一) 架构的理解、应用、搭建

    第一次写博客,比较浅显,欢迎大牛们指点一二,不胜感激.   ** 温馨提示:如需转载本文,请注明内容出处.**   本文连接:http://www.cnblogs.com/grom/p/8931650 ...

  2. Python 元组内置函数

    Python元组包含了以下内置函数 序号 方法及描述 1 cmp(tuple1, tuple2)比较两个元组元素. 2 len(tuple)计算元组元素个数. 3 max(tuple)返回元组中元素最 ...

  3. Bootstrap3 栅格系统-Less mixin 和变量

    除了用于快速布局的预定义栅格类,Bootstrap 还包含了一组 Less 变量和 mixin 用于帮你生成简单.语义化的布局. 变量 通过变量来定义列数.槽(gutter)宽.媒体查询阈值(用于确定 ...

  4. Swift3中方法可变参数语法的一些改变

    我们知道在Swift2中,默认情况下方法的参数是let值,也就是不可改变的. 不过我们可以在参数前添加var关键字改变其不变性: func foo(var i:Int){ i += 1 print(i ...

  5. 两种利用GCD实现分步获取结果的方式和SDWebImage缓存机制的验证

    前段时间写界面,因为数据的请求分成了两部分,所以用到了多线程,实现数据的分步请求,然后自己写了一个Demo,用两种方式实现分步获取内容,其中也包含了验证SDWebImage这个库的缓存机制,在这里给大 ...

  6. 搭建ejabberd集群

    搭建ejabberd集群(金庆的专栏 2016.8)以2台机器搭建一个ejabberd集群.2台机器都是外网一块网卡,内网另一块网卡.新建一个域名,添加2台机器的外网IP.分别用源码安装ejabber ...

  7. The packages can be overrided by Java Endorsed Standards

     Endorsed Standards APIs The Endorsed Standards for Java SE constitute all classes and interfaces ...

  8. activiti uuid主键

    1.1.1.  activiti默认主键生成方式 ; 下面我们看一下主键的生成策略:主键的生成策略定义在IdGenerator接口中,接口定义如下所示: public interface IdGene ...

  9. 浅谈hibernate+入门实例

    Hibernate是对jdbc进一步的封装,随着项目的开展,小编开始接触到这个概念,一开始接触的时候并没有觉得hibernate有多神秘,没有进一步的研究,只是简单的知道她是对jdbc的进一步的封装, ...

  10. Github客户端以及Git shell的使用

    昨天介绍了怎么使用Git Shell来commit我们的代码,但是这都是简单的操作,我们还没有使用到Github是怎么进行版本控制的呢.所以,今天就来介绍一下,怎么来做版本控制吧. 必备材料 首先要确 ...