OC基础:NSString NSNumber 分类: ios学习 OC 2015-06-17 17:55 77人阅读 评论(0) 收藏
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) 收藏的更多相关文章
- shell入门之函数应用 分类: 学习笔记 linux ubuntu 2015-07-10 21:48 77人阅读 评论(0) 收藏
最近在学习shell编程,文中若有错误的地方还望各位批评指正. 先来看一个简单的求和函数 #!/bin/bash #a test about function f_sum 7 8 function f ...
- linux中的网络通信指令 分类: 学习笔记 linux ubuntu 2015-07-06 16:02 134人阅读 评论(0) 收藏
1.write write命令通信是一对一的通信,即两个人之间的通信,如上图. 效果图 用法:write <用户名> 2.wall wall指令可将信息发送给每位同意接收公众信息的终端机用 ...
- linux常用的压缩与解压缩命令 分类: 学习笔记 linux ubuntu 2015-07-05 19:38 38人阅读 评论(0) 收藏
1.gzip 压缩 gzip 是压缩文件,压缩之后文件后缀为.gz 用法:gzip 选项 [文件] 2.gunzip 解压 这个命令与gzip的功能刚好相反,这个是解压. 用法 gunzip 选项 [ ...
- ubuntu14.04使用root用户登录桌面 分类: 学习笔记 linux ubuntu 2015-07-05 10:30 199人阅读 评论(0) 收藏
ubuntu安装好之后,默认是不能用root用户登录桌面的,只能使用普通用户或者访客登录.怎样开启root用户登录桌面呢? 先用普通用户登录,然后切换到root用户,然后执行如下命令: vi /usr ...
- linux中echo的用法 分类: 学习笔记 linux ubuntu 2015-07-14 14:27 21人阅读 评论(0) 收藏
1.echo命令我们常用的选项有两个,一个是-n,表示输出之后不换行,另外一个是-e,表示对于转义字符按相应的方式处理,如果不加-e那么对于转义字符会按普通字符处理. 2.echo输出时的转义字符 \ ...
- 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 " ...
- 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" ...
- shell入门之变量测试 分类: 学习笔记 linux ubuntu 2015-07-10 15:49 31人阅读 评论(0) 收藏
格式:test 测试条件 字符串测试: 注意空格: test str1 == str2 测试字符串是否相等 test str1 != str2 测试字符串是否不相等 test str1 测试字符串是否 ...
- shell脚本实现冒泡排序 分类: 学习笔记 linux ubuntu 2015-07-10 14:16 79人阅读 评论(0) 收藏
手动输入一行字符串,并对其排序. 脚本如下: #!/bin/bash #a test about sort echo "please input a number list" re ...
随机推荐
- ros python 订阅robot_pose
#!/usr/bin/env python import rospy import tf import time from tf.transformations import * from std_m ...
- secs/gem协议
介绍SECS/GEM SEMI SECS/GEM标准概述 SECS/GEM是由国际半导体设备与材料协会(SEMI)制定的连接性标准.此连接性标准用于在设备和工厂的资讯和控制系统间建立通讯. SECS是 ...
- JS-Object(2) 原型对象 ,prototype属性。
基础✅ prototype(✅) JS中的继承 使用JSON数据 构建对象实战 基础 关键字"this"指向了当前代码运行时的对象( 原文:the current object t ...
- codeforces 484a//Bits// Codeforces Round #276(Div. 1)
题意:给出区间[ll,rr],求中间一个数二进制表示时一的个数最多. 写出ll和rr的二进制,设出现第一个不同的位置为pos(从高位到低位),找的数为x,那么为了使x在[ll,rr]内,前pos-1个 ...
- android------2018 年初值得关注的 16 个新 Android 库和项目
1. transitioner Transitioner 是一个为两个拥有嵌入子视图的视图之间提供简便.动态且可调整的动画效果的库.它纯 100% 使用 Kotlin 编写而成,使用 MIT 许可,且 ...
- Tree CodeForces - 1111E (树,计数,换根)
大意: 给定树, 多组询问, 每个询问给出一个点集$S$, 给定$m, r$, 求根为$r$时, $S$的划分数, 满足 每个划分大小不超过$m$ 每个划分内不存在一个点是另一个点的祖先 设点$x$的 ...
- Linux 下载最新kubectl版本的命令:
ubuntu centos下通用 第一步.下载最新版本的命令: curl -LO https://storage.googleapis.com/kubernetes-release/release/$ ...
- (转)(HR面试)最常见的面试问题和技巧性答复
(HR面试)最常见的面试问题和技巧性答复 1.请你自我介绍一下你自己? 回答提示:一般人回答这个问题过于平常,只说姓名.年龄.爱好.工作经验,这些在简历上都有.其实,企业最希望知道的是求职者能否胜任工 ...
- python-day42--单表查询
1. 简单查询select * from employee;select name,salary from employee; 2. where条件 1.比较运算符:> &l ...
- Generate PDF in Sourcing through concurrent request,在EBS java并发中调用指定am的方法
package oracle.apps.pon.printing.cp; import java.io.InputStream; import java.io.FileOutputStream; im ...