NSString NSNumber 如何学习苹果帮助文档

OC中的基本数据类型

NSString  在64位系统下,相当于long,在非64位系统下,想当于int.

CGFloat   在64位系统下,相当于double,在非64位系统之下,想当与float

------------------------------------------------------------------------------------------------------------------------

学习方法

一.查看API

1.help -> DOcumentation and API reference

2.快捷键   cmd+shift +0

//   Inherits from :继承于那个类

//   conform to:遵循于什么协议

//   framework   :定义在什么框架下

//   Availabilty  :使用范围

//   declared in   :申明在什么文件中

//   related documents:相关文档

//    sample code :样式代码

二.查看头文件

对于一个类,使用cmd+左键,进入头文件,有关于这个类的实例变量的声明和方法声明

------------------------------------------------------------------------------------------------------------------------

NSString 字符串类

打印对象使用%@,NSString 是一个类,str也就是一个对象

NSString继承于NSObject,是不可变字符串,一旦创建就不可以更改内容

NSString * [email protected]"凤姐";

//创建空字符串

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

NSString * str2=[NSString string];同上

[email protected]"sss";   //指针发生重指向,原内容未改变

*[email protected]"sss" //error  字符串内容一旦创建就无法改变

-----------------------------------

字符串拼接

NSString * str3=[[NSStringalloc]initWithFormat:@"我爱你"%@",str];

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

NSString * str4=[NSStringstringWithFormat:@"我爱你%@",str3];

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

-----------------------------------

将C语言的字符转为OC的字符串对象   如:"fuck"   ->  @"fuck"

一个汉字在内存中占有3个字节

NSString * str7=[[NSStringalloc]initWithUTF8String:"fuck"];

NSLog(@"%@",str7);

NSString * str8=[NSStringstringWithUTF8String:"fuck"];

NSLog(@"%@",str8);

------------------------------------

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

第一个参数是文件路径,第二个参数是编码格式,第三个文件是如果出错返回一个值

NSString * str9=[[NSStringalloc]initWithContentsOfFile:@"/Users/lanouhn/Desktop/my.txt"encoding:NSUTF8StringEncodingerror:nil];

NSLog(@"%@",str9);

NSString * str10=[NSStringstringWithContentsOfFile:@"/Users/lanouhn/Desktop/my.txt"encoding:NSUTF8StringEncodingerror:nil];

NSLog(@"%@",str10);

------------------------------------

获取字符串的长度(空格也计算)

NSUInteger len=[str9length];

NSLog(@"%lu",len);

---------------------------------------

获取某段范围的字符串的长度

如果a是b的字串,a的内容必须在b中且连续不断.如  a   1234     b    0123456

NSString *str11=@"abcdefg";

NSRange  rang={0,4};//{开始位置,长度}

NSString * str12=[str11substringWithRange:rang];

NSLog(@"%@",str12);//abcd

---------------------------------------

获取字串在父串中的范围

NSRange rang2=[str11rangeOfString:@"ab"];

NSLog(@"%lu,%lu",rang2.location,rang2.length);//0,2

---------------------------------------

获取到 到某个位置的字串(从0开始到指定位置之前的内容)

NSString *str13=[str11substringToIndex:3];

NSLog(@"%@",str13);//abc

---------------------------------------

从某个位置开始获取字符串(包含当前位置的字符)

NSString * str14=[str11substringFromIndex:3];

NSLog(@"%@",str14);//defg

---------------------------------------

字符串拼接

NSString * str15=[strstringByAppendingString:@"是你们的"];

NSLog(@"%@",str15);

NSString *str16=[strstringByAppendingFormat:@"是你们的%@",@"好友"];

NSLog(@"%@",str16);

NSString * str17=[str16stringByReplacingOccurrencesOfString:@"凤姐"withString:@"刘亦菲"];

NSLog(@"%@",str17);

----------------------------------------

//    字符串是否包含某个前缀或者后缀

NSString * sStr=@"中国北京海淀清河";

//    判断是否包含前缀

BOOL b1=[sStrhasPrefix:@"中国"];

NSLog(@"%d",b1);  // 1

//   判断是否包含后缀

BOOL b2=[sStrhasSuffix:@"清河"];

NSLog(@"%d",b2);

---------------------------------------

//    判断两个字符串是否相等

NSString *sStr2=@"吉泽明步";

NSString *sStr3=@"波多野鸡";

BOOL b3=[sStr2isEqualToString:sStr3];

NSLog(@"%d",b3);

---------------------------------------比较字符串

//    NSOrderedAscending  -1, NSOrderedSame 0, NSOrderedDescending 1

NSString *sStr4=@"NbA";

NSString *sStr5=@"NBA";

//   1 compare 
区分大小写

NSInteger n=[sStr4compare:sStr5];

NSLog(@"%ld",n);

//    2   caseInsensitiveCompare 不区分大小写

n = [sStr4 caseInsensitiveCompare:sStr5];

NSLog(@"%ld",n);

-------------------------------------------------------------------------------------------------

//
NSMutableString 可变字符串,继承自NSString

NSMutableString *mstr=[[NSMutableStringalloc]initWithString:@"我和丧尸有个约会"];

NSLog(@"%@",mstr);

NSMutableString *mstr1=@"我和有个约会".mutableCopy;

// 指定位置插入字符串

[mstr1 insertString:@"皮卡丘"atIndex:2];

NSLog(@"%@",mstr1);

//    在尾部拼接字符串

[mstr1 appendString:@"在日本广岛"];

NSLog(@"%@",mstr1);

//    指定范围内删除字符串

[mstr1 deleteCharactersInRange:NSMakeRange(0,5)];

NSLog(@"%@",mstr1);

//    指定范围内改写字符串

[mstr1 replaceCharactersInRange:NSMakeRange(0,3)
withString:@"我和皮卡丘带上tom猫有个"];

NSLog(@"%@",mstr1);

-------------------------------------

NSString *sStr6=@"i am a student come from china.where are you from";

NSMutableString *mStr2=@"i am a student come from china.where are you from".mutableCopy;

//    变为大写

NSString *sStr7=[sStr6uppercaseString];

NSLog(@"%@",sStr7);

NSLog(@"%@",sStr6);//原串未变动

//  变为小写

NSString *sStr9=[sStr7lowercaseString];

NSLog(@"%@",sStr9);

//    每个单词首字母大写

NSString *sStr10=[sStr9capitalizedString];

NSLog(@"%@",sStr10);

------------------------------------------------------------------------------------------------------------------------------------------------

NSNumber 数字类 继承自NSValue

//    主要把基本数据类型转化为对象,也可以把对象转化为基本数据类型

//    基本数据类型->数值对象

NSNumber *intNumber = [NSNumbernumberWithInt:100];

NSLog(@"%@",intNumber);

NSNumber *floatNumber =[NSNumbernumberWithFloat:3.14];

NSLog(@"%@",floatNumber);

NSNumber *shortNumbe=[NSNumbernumberWithShort:4.15];

NSLog(@"%@",shortNumbe);

NSNumber *integerNumber=[NSNumbernumberWithUnsignedInteger:888];

NSLog(@"%@",integerNumber);

NSNumber *boolNumber=[NSNumbernumberWithBool:YES];

NSLog(@"%@",boolNumber);

//  数值对象->基本数据类型

int num1=[intNumberintValue];

NSLog(@"%d",num1);

float num2=[floatNumberfloatValue];

NSLog(@"%f",num2);

short  num3=[shortNumbeshortValue];

NSLog(@"%hd",num3);

NSInteger num4=[integerNumberintegerValue];

NSLog(@"%ld",num4);

BOOL num5=[boolNumberboolValue];

NSLog(@"%d",num5);

时间: 2024-08-05 07:07:01

NSString NSNumber 如何学习苹果帮助文档的相关文章

OC --(4)--NSString、NSArray、NSNumber、使用苹果帮助文档、值对象

BOOL 类型用 %d  输出 NSRange range={11,7};//结构体赋值用{} NSMakeRange(11, 7);  //快速创建的方法 1.NSString initWithFormat:方法 通过给定格式化字符串 复制给字符串对象赋值 stringWithFormat: 方法其实内部就是 alloc+initWithFormat: NSString *str2=[NSString stringWithFormat:@"chu cuo le "]; 2.获取长度

HTML5学习之跨文档传输消息(七)

新标准中提供了文档之间直接的消息传输API.而且不限制跨域消息传递! 发送消息使用的是Window对象的postMessage(data,targetURL)方法就可以了,但给哪个window对象发送消息,就使用哪个window的实例来调用,注意这个细节. 文档默认监听一下message事件就可以接受消息了:window.addEventListener("message", function (ev) {}); 监听消息事件:ev两个重要属性:ev.source指向发送消息的源win

CoAP学习笔记——IETF文档和draft文档

前言 截至2015年4月,IETF共发布了2份关于CoAP协议的RFC文档,尚有5份文档处于草稿状态.下文便是RFC文档和草稿文档的链接地址.     更多物联网博文请参考--[物联网学习笔记--索引博文] RFC文档 [RFC 7252] The Constrained Application Protocol (CoAP) [RFC 6690] Constrained RESTful Environments (CoRE) Link Format draft文档 [1]Constrained

redis module 学习—官网文档整理

前言 redis在4.0版本中,推出了一个非常吸引的特性,可以通过编写插件的模式,来动态扩展redis的能力.在4.0之前,如果用户想拥有一个带TTL的INCRBY 命令,那么用户只能自己去改代码,重新编译了.在4.0版本推出之后,想实现一个自定义的命令就简单的多了. 在这个功能发布之后,已经有许多的第三方扩展插件被开发出来.具体可以参见官方模块仓库 : 接下来,本文将基于redis官方文档 进行翻译,介绍下相关的功能(翻译的和原有有出入,更多是基于自己的理解.如果大家有问题,欢迎讨论),也算对

【学习】脱离文档流分析

[学习原文自]https://www.cnblogs.com/shenfangfang/p/5278528.html 学习总结: 1.脱离文档流-部分无视:浮动的元素可以向左向右移动,直到他的外边缘碰到包含框或者另一个浮动框的边框为止. 浮动元素后跟block元素: 浮动的框之后的block元素会认为这个框不存在,但是其中的文本依然会为这个元素让出位置. 1.没有中文的很短的文本 2.没有中文的很长的文本 3.包含中文的很短的文本 4.包含中文的很长的文本 5.没有中文的很长的文本-文本设置了w

mongodb3.2系统性学习——1、文档插入insert insertOne insertMany

写操作——添加操作 mongodb提供以下操作执行添加文档操作 db.collection.insertOne() 3.2新添加 db.collection.insertMany() 3.2 新添加 db.collection.insert() 首先介绍下 insertone() 操作 语法规则: db.collection.insertOne( <document>, { writeConcern: <document> //Optional. A document expres

Bootstrap3学习笔记 Bootstrap3文档和栅格系统

?? Bootstrap 使用到的某些 HTML 元素和 CSS 属性须要将页面设置为 HTML5 文档类型. 1)例如以下开头html标签: <!DOCTYPE html> <html lang="zh-CN"> ... </html> 2)Bootstrap3是依照移动设备优先设计的框架.为了确保适当的绘制和触屏缩放.须要加入viewport元数据标签: <meta name="viewport" content=&qu

perl学习之HERE文档

Perl的here文档机制是从UNIX shell中的here文档机制派生而来的. 和在shell中一样,Perl中的here文档也是面向行的引用表单,要求提供<<运算符,其后跟随一个初始的终止字符串. <<之后可以不出现空格. 如果终止字符串没有加上引号或双引号,则允许执行变量表达式. 如果终止字符串上加了单引号,则不执行变量表达式.用户应当把文本的第一行内容插入到第一个和最后一个终止字符串之间. 最后一个终止字符串必须位于该行上,且周围不允许出现空白字符. 与UNIX shel

Boostrap学习--官网文档

1. 下载下载之前先检查一下是否准备好了一个代码编辑器(我们推荐使用 Sublime Text 2) ,你是否已经掌握了足够的HTML和CSS知识以开展工作.这里我们不详述源码文件,但是它们可以随时被下载.在这里我们只着重介绍使用已经编译好的Bootstrap文件进行入门讲解. 下载编译好的文件 快速开始:立即下载编译好的版本吧,里面已经包含了CSS.JS和图片文件了,而且所有文件已经经过了压缩处理.不过,文档和源码文件不包含哦. 下载Bootstrap 下载源码 从GitHub直接下载到的最新