objective-c 中 NSNumber 和 NSString 中常见方法的使用
2013-08-29 16:32
381 查看
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[])
{
@autoreleasepool {
NSNumber* n1 = [[NSNumber alloc] initWithInt:100];//使用实例方法创建对象,需要手动释放
int int1 = [n1 intValue];
NSNumber* n2 = [NSNumber numberWithInteger:100];//使用类方法创建对象,本身发送了autorease消息
NSInteger int2 = [n2 integerValue];
if([n1 isEqualToNumber:n2])
{
NSLog(@"n1 is same to n2");
}
else
{
NSLog(@"n1 is different to n2");
}
if([n1 compare:n2] == NSOrderedAscending)
{
NSLog(@"n1 < n2");
}
if([n1 compare:n2] == NSOrderedSame)
{
NSLog(@"n1 == n2");
}
if([n1 compare:n2] == NSOrderedDescending)
{
NSLog(@"n1 > n2");
}
//创建字符串的几种方法:
NSString* str = @"hello world";
NSString* strr = @"welcome";
NSString* str1 = [NSString stringWithFormat:@"%@",[NSDate date]];//返回现在的时间
NSString* str2 = [NSString stringWithString:str1];
NSLog(@"%ld",[str length]);//打印字符串的长度
NSString* str3 = [str stringByAppendingString:strr];//hello worldwelcome //连接两个字符串,生成新的字符串
//大小写转换 不会影响原来的字符串
NSLog(@"%@",[[str3 uppercaseString] lowercaseString]);
NSLog(@"%@",str3);
//比较字符串
//isEqualToString: 比较两个字符串是否相等
//compare: 比较两个字符串的大小 不忽略大小写
//caseInsensitiveCompare: 比较两个字符串的大小,不区分大小写
if([str1 isEqualToString:str2])
{
NSLog(@"str1 is equal to str2");
}
if([str compare:strr] == NSOrderedAscending)
{
NSLog(@"str < strr");
}
else if([str compare:strr] == NSOrderedSame)
{
NSLog(@"str == strr");
}
else
{
NSLog(@"str > strr");
}
//求子串
//substringToIndex:(int)index 返回一个子串,从接受者首字符开始到index - 1; 从0开始计算
//substringFromIndex:(int)index 返回一个子串,从index开始,到结尾
//substringWithRange:(NSRange)range; 返回指定返回的子串
/*NSRange 是一个结构体,成员有:unsigned int location; unsigned int length;
NSRange range;
range.location = 8;//位置
range.length = 6;//长度
NSString* str = [str1 substringWithRange:range];//返回str1中位置从8开始,长度为6的子串
或者使用下面的方法(与上面等价)
NSString* str = [str1 substringWithRange:NSMakeRange(8,6)];
//NSMakeRange(8,6);返回一个NSRange变量,里边的参数(8,6)是分别对应着NSRange的location和length
*/
//rangeOfString:(NSString*)str1; 如果指定的字符串(str1)在接收者里找到,返回指定字符串的Range(位置和长度),如果未找到,则将返回的location设置未NSNotFound,所以在调用rangeOfString:消息时,下一步就会判断range.location是否未NSNotFound。
NSString* str4 = [str3 substringToIndex:7];//hello w (0 --> 6)
NSString* str5 = [str3 substringFromIndex:9];//ldwelcome (从第9个一直到结尾)
NSRange range;
range.location = 8;
range.length = 6;
NSString* str6 = [str3 substringWithRange:range];//rldwel
NSString* str7 = [str3 substringWithRange:NSMakeRange(8, 6)];//rldwel
NSRange range2;
range2 = [str3 rangeOfString:@"rlwel"];
if(range2.location != NSNotFound)
{
NSLog(@"location = %ld,length = %ld",range2.location,range2.length);
}
if(range2.location == NSNotFound)
{
NSLog(@"not found!");
}
[n1 release];
}
return 0;
}
int main(int argc, const char * argv[])
{
@autoreleasepool {
NSNumber* n1 = [[NSNumber alloc] initWithInt:100];//使用实例方法创建对象,需要手动释放
int int1 = [n1 intValue];
NSNumber* n2 = [NSNumber numberWithInteger:100];//使用类方法创建对象,本身发送了autorease消息
NSInteger int2 = [n2 integerValue];
if([n1 isEqualToNumber:n2])
{
NSLog(@"n1 is same to n2");
}
else
{
NSLog(@"n1 is different to n2");
}
if([n1 compare:n2] == NSOrderedAscending)
{
NSLog(@"n1 < n2");
}
if([n1 compare:n2] == NSOrderedSame)
{
NSLog(@"n1 == n2");
}
if([n1 compare:n2] == NSOrderedDescending)
{
NSLog(@"n1 > n2");
}
//创建字符串的几种方法:
NSString* str = @"hello world";
NSString* strr = @"welcome";
NSString* str1 = [NSString stringWithFormat:@"%@",[NSDate date]];//返回现在的时间
NSString* str2 = [NSString stringWithString:str1];
NSLog(@"%ld",[str length]);//打印字符串的长度
NSString* str3 = [str stringByAppendingString:strr];//hello worldwelcome //连接两个字符串,生成新的字符串
//大小写转换 不会影响原来的字符串
NSLog(@"%@",[[str3 uppercaseString] lowercaseString]);
NSLog(@"%@",str3);
//比较字符串
//isEqualToString: 比较两个字符串是否相等
//compare: 比较两个字符串的大小 不忽略大小写
//caseInsensitiveCompare: 比较两个字符串的大小,不区分大小写
if([str1 isEqualToString:str2])
{
NSLog(@"str1 is equal to str2");
}
if([str compare:strr] == NSOrderedAscending)
{
NSLog(@"str < strr");
}
else if([str compare:strr] == NSOrderedSame)
{
NSLog(@"str == strr");
}
else
{
NSLog(@"str > strr");
}
//求子串
//substringToIndex:(int)index 返回一个子串,从接受者首字符开始到index - 1; 从0开始计算
//substringFromIndex:(int)index 返回一个子串,从index开始,到结尾
//substringWithRange:(NSRange)range; 返回指定返回的子串
/*NSRange 是一个结构体,成员有:unsigned int location; unsigned int length;
NSRange range;
range.location = 8;//位置
range.length = 6;//长度
NSString* str = [str1 substringWithRange:range];//返回str1中位置从8开始,长度为6的子串
或者使用下面的方法(与上面等价)
NSString* str = [str1 substringWithRange:NSMakeRange(8,6)];
//NSMakeRange(8,6);返回一个NSRange变量,里边的参数(8,6)是分别对应着NSRange的location和length
*/
//rangeOfString:(NSString*)str1; 如果指定的字符串(str1)在接收者里找到,返回指定字符串的Range(位置和长度),如果未找到,则将返回的location设置未NSNotFound,所以在调用rangeOfString:消息时,下一步就会判断range.location是否未NSNotFound。
NSString* str4 = [str3 substringToIndex:7];//hello w (0 --> 6)
NSString* str5 = [str3 substringFromIndex:9];//ldwelcome (从第9个一直到结尾)
NSRange range;
range.location = 8;
range.length = 6;
NSString* str6 = [str3 substringWithRange:range];//rldwel
NSString* str7 = [str3 substringWithRange:NSMakeRange(8, 6)];//rldwel
NSRange range2;
range2 = [str3 rangeOfString:@"rlwel"];
if(range2.location != NSNotFound)
{
NSLog(@"location = %ld,length = %ld",range2.location,range2.length);
}
if(range2.location == NSNotFound)
{
NSLog(@"not found!");
}
[n1 release];
}
return 0;
}
相关文章推荐
- Objective-C之foundation框架中的NSString的使用方法、指针基本用法、读取本地和远程文件
- NSString常见使用方法
- 在NSString NSNumber NSValue 中一些基本方法的使用和解释
- Objective-C NSString使用方法解析
- Objective-C中NSString转NSNumber的方法
- 5. 18 Objective-C 常用数据类型(NSValue NSNumber NSString )的方法
- Objective-C 【NSArray 的基本使用&常见方法&简写形式】
- Objective-C中NSString转NSNumber的方法
- 有关NSString和NSMutableString的一些重要方法的使用
- ORACLE常见方法使用(转)
- C语言结构体常见使用方法
- Android studio在使用过程中常见的问题及解决方法(不定期更新)
- 黑马程序员_API使用及常见API类中的方法
- 常见的 NSString 和 NSMutableString 方法
- awk命令介绍和常见使用方法
- Objective-C基础笔记(8)Foundation经常使用类NSString
- iOS-NSString常见方法
- Objective-C实现修改和删除nsstring 的方法
- 自见常见的NSString方法和NSMutableString字符方法 记录
- 使用ClickOnce发布你的软件前,应该知道的一些事情(一些常见问题解决方法)