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 * str=@"凤姐";

//创建空字符串

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

NSString * str2=[NSString  string];同上

str1=@"sss";   //指针发生重指向,原内容未改变

*str1=@"sss" //error  字符串内容一旦创建就无法改变

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

字符串拼接

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

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

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

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

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

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

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

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

NSLog(@"%@",str7);

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

NSLog(@"%@",str8);

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

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

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

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

NSLog(@"%@",str9);

NSString * str10=[NSString stringWithContentsOfFile:@"/Users/lanouhn/Desktop/my.txt" encoding:NSUTF8String
Encodingerror:nil];

NSLog(@"%@",str10);

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

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

NSUInteger len=[str9  length];

NSLog(@"%lu",len);

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

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

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

NSString *str11=@"abcdefg";

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

NSString * str12=[str11   substringWithRange:rang];

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

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

获取字串在父串中的范围

NSRange rang2=[str11  rangeOfString:@"ab"];

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

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

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

NSString *str13=[str11 substringToIndex:3];

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

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

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

NSString * str14=[str11 substringFromIndex:3];

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

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

字符串拼接

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

NSLog(@"%@",str15);

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

NSLog(@"%@",str16);

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

NSLog(@"%@",str17);

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

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

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

//    判断是否包含前缀

BOOL b1=[sStr  hasPrefix:@"中国"];

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

//   判断是否包含后缀

BOOL b2=[sStr  hasSuffix:@"清河"];

NSLog(@"%d",b2);

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

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

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

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

BOOL b3=[sStr2  isEqualToString:sStr3];

NSLog(@"%d",b3);

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

//    NSOrderedAscending  -1, NSOrderedSame 0, NSOrderedDescending 1

NSString *sStr4=@"NbA";

NSString *sStr5=@"NBA";

//   1 compare 
区分大小写

NSInteger n=[sStr4 compare:sStr5];

NSLog(@"%ld",n);

//    2   caseInsensitiveCompare 不区分大小写

n = [sStr4 caseInsensitiveCompare:sStr5];

NSLog(@"%ld",n);

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

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

NSMutableString *mstr=[[NSMutableString alloc]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=[sStr6 uppercaseString];

NSLog(@"%@",sStr7);

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

//  变为小写

NSString *sStr9=[sStr7 lowercaseString];

NSLog(@"%@",sStr9);

//    每个单词首字母大写

NSString *sStr10=[sStr9 capitalizedString];

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=[intNumber intValue];

NSLog(@"%d",num1);

float num2=[floatNumber floatValue];

NSLog(@"%f",num2);

short  num3=[shortNumbe shortValue];

NSLog(@"%hd",num3);

NSInteger num4=[integerNumber integerValue];

NSLog(@"%ld",num4);

BOOL num5=[boolNumber boolValue];

NSLog(@"%d",num5);

版权声明:本文为博主原创文章,未经博主允许不得转载。

OC基础:NSString NSNumber 分类: ios学习 OC 2015-06-17 17:55 77人阅读 评论(0) 收藏的更多相关文章

  1. shell入门之函数应用 分类: 学习笔记 linux ubuntu 2015-07-10 21:48 77人阅读 评论(0) 收藏

    最近在学习shell编程,文中若有错误的地方还望各位批评指正. 先来看一个简单的求和函数 #!/bin/bash #a test about function f_sum 7 8 function f ...

  2. linux中的网络通信指令 分类: 学习笔记 linux ubuntu 2015-07-06 16:02 134人阅读 评论(0) 收藏

    1.write write命令通信是一对一的通信,即两个人之间的通信,如上图. 效果图 用法:write <用户名> 2.wall wall指令可将信息发送给每位同意接收公众信息的终端机用 ...

  3. linux常用的压缩与解压缩命令 分类: 学习笔记 linux ubuntu 2015-07-05 19:38 38人阅读 评论(0) 收藏

    1.gzip 压缩 gzip 是压缩文件,压缩之后文件后缀为.gz 用法:gzip 选项 [文件] 2.gunzip 解压 这个命令与gzip的功能刚好相反,这个是解压. 用法 gunzip 选项 [ ...

  4. ubuntu14.04使用root用户登录桌面 分类: 学习笔记 linux ubuntu 2015-07-05 10:30 199人阅读 评论(0) 收藏

    ubuntu安装好之后,默认是不能用root用户登录桌面的,只能使用普通用户或者访客登录.怎样开启root用户登录桌面呢? 先用普通用户登录,然后切换到root用户,然后执行如下命令: vi /usr ...

  5. linux中echo的用法 分类: 学习笔记 linux ubuntu 2015-07-14 14:27 21人阅读 评论(0) 收藏

    1.echo命令我们常用的选项有两个,一个是-n,表示输出之后不换行,另外一个是-e,表示对于转义字符按相应的方式处理,如果不加-e那么对于转义字符会按普通字符处理. 2.echo输出时的转义字符 \ ...

  6. shell脚本调试 分类: 学习笔记 linux ubuntu 2015-07-14 12:49 53人阅读 评论(0) 收藏

    1.sh -x script 这将执行脚本并显示所有变量的值 如,脚本: #!/bin/bash #a test about shift if [ $# -le 0 ] then echo " ...

  7. shell入门之流程控制语句 分类: 学习笔记 linux ubuntu 2015-07-10 16:38 89人阅读 评论(0) 收藏

    1.case 脚本: #!/bin/bash #a test about case case $1 in "lenve") echo "input lenve" ...

  8. shell入门之变量测试 分类: 学习笔记 linux ubuntu 2015-07-10 15:49 31人阅读 评论(0) 收藏

    格式:test 测试条件 字符串测试: 注意空格: test str1 == str2 测试字符串是否相等 test str1 != str2 测试字符串是否不相等 test str1 测试字符串是否 ...

  9. shell脚本实现冒泡排序 分类: 学习笔记 linux ubuntu 2015-07-10 14:16 79人阅读 评论(0) 收藏

    手动输入一行字符串,并对其排序. 脚本如下: #!/bin/bash #a test about sort echo "please input a number list" re ...

随机推荐

  1. python写入csv文件的几种方法总结

    生成test.csv文件 #coding=utf- import pandas as pd #任意的多组列表 a = [,,] b = [,,] #字典中的key值即为csv中列名 dataframe ...

  2. MongoDB(课时14 正则运算)

    3.2.4.9 正则运算 如果想实现模糊查询,必须使用正则表达式,而且正则表达式使用的语言是Perl兼容的正则表达式的形式. 要实现正则使用,则按照如下的定义格式: 基础语法:{key : 正则标记} ...

  3. 【Golang 接口自动化04】 解析接口返回JSON串

    前言 上一次我们一起学习了如何解析接口返回的XML数据,这一次我们一起来学习JSON的解析方法. JSON(Javascript Object Notation)是一种轻量级的数据交换语言,以文字为基 ...

  4. Silverlight自定义控件系列 – TreeView (1)

      原文路径:http://blog.csdn.net/wlanye/article/details/7265457 很多人都对MS自带的控件不太满意(虽然MS走的是简约风格),都会试图去修改或创建让 ...

  5. 2月9日 Time and Date(Ruby基础) \n 2月10日 ,使用Proc,block对象化。

    20.1Time类 ,Data类 Time.now或者Time.new:获取当前时间. 相关Method: year, month, hour, min ,sec, wday: 一周中的第几天,返回整 ...

  6. LTE时代的定位技术:OTDOA,LPP,SUPL2.0

    LTE时代的定位技术:OTDOA,LPP,SUPL2.0 移动定位技术的发展历程 如今智能手机已经在整个社会普及,数量众多的手机应用成为了人们生活当中不可或缺的一部分.越来越多的手机应用都用到了手机定 ...

  7. hdu3294 manacher

    One day, sailormoon girls are so delighted that they intend to research about palindromic strings. O ...

  8. 模拟模拟vij1120

    花生采摘 描述 鲁宾逊先生有一只宠物猴,名叫多多.这天,他们两个正沿着乡间小路散步,突然发现路的告示牌上贴着一张小小的纸条:“欢迎免费品尝我种的花生!——熊字”. 鲁宾逊先生和多多都很开心,因为花生正 ...

  9. jsp jsp常用指令

    jsp指令是为jsp引擎设计的,他们并不直接产生任何可见输出,而只是告诉引擎如何处理jsp页面中的其余部分. jsp中的指令 page指令 include指令 taglib指令 jsp指令的基本语法 ...

  10. learning scala 操作符

    scala 操作符: 算术运算符:  +  - *  / % 关系统运算符: > , < ,= ,!= ,>=,<=, 逻辑运算符: && . || , ! 位 ...