惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Attack and Defense Labs
Attack and Defense Labs
The GitHub Blog
The GitHub Blog
C
Check Point Blog
博客园_首页
MongoDB | Blog
MongoDB | Blog
N
Netflix TechBlog - Medium
F
Full Disclosure
Microsoft Security Blog
Microsoft Security Blog
爱范儿
爱范儿
Recent Announcements
Recent Announcements
阮一峰的网络日志
阮一峰的网络日志
G
GRAHAM CLULEY
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
T
Threat Research - Cisco Blogs
C
Cybersecurity and Infrastructure Security Agency CISA
V
Vulnerabilities – Threatpost
K
Kaspersky official blog
博客园 - 司徒正美
S
Schneier on Security
T
The Exploit Database - CXSecurity.com
Project Zero
Project Zero
云风的 BLOG
云风的 BLOG
Cisco Talos Blog
Cisco Talos Blog
Know Your Adversary
Know Your Adversary
雷峰网
雷峰网
V
V2EX - 技术
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Spread Privacy
Spread Privacy
罗磊的独立博客
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
S
Security Affairs
SecWiki News
SecWiki News
Schneier on Security
Schneier on Security
O
OpenAI News
Jina AI
Jina AI
PCI Perspectives
PCI Perspectives
Cyberwarzone
Cyberwarzone
Y
Y Combinator Blog
Apple Machine Learning Research
Apple Machine Learning Research
B
Blog RSS Feed
I
InfoQ
D
Docker
P
Palo Alto Networks Blog
Recorded Future
Recorded Future
M
MIT News - Artificial intelligence
博客园 - Franky
B
Blog
Scott Helme
Scott Helme
博客园 - 叶小钗
D
DataBreaches.Net

博客园 - 啊夏

iOS6.0以后App对内存警告的处理 ios平台上一个由字节对齐问题导致的crash NSURLConnection 网络超时的那些事。 我看QQ与360的恩怨情仇 详解百度手机输入法“搜索框”的秘密 一道求单向链表倒数第N个结点的算法题。 真正认识 realloc 的工作方式。 什么是最优秀的IT员工? 【转帖】有关次级贷的一个故事。很贴切 获取字符串的拼音首字母 [转载]关于const用法的 笔记记录 最大公约数-辗转相除法 向量的旋转算法---编程珠玑读书笔记。 activex 控件回调 javascript 一个“利”与“义”的故事。 重启PPC系统 GLDEF_C, LOCAL_C, GLREF_C 的含义 看看80的我们小时候都在玩些什么。 Carbide.c++ IDE的常用快捷键和技巧
[转载]NSString+NSMutableString+NSValue+NSAraay用法汇总
啊夏 · 2010-09-13 · via 博客园 - 啊夏

//一、NSString   
    /*----------------创建字符串的方法----------------*///1、创建常量字符串。
    NSString *astring = @"This is a String!";//2、创建空字符串,给予赋值。

    NSString 
*astring = [[NSString alloc] init];
    astring 
= @"This is a String!";
    NSLog(
@"astring:%@",astring);
  [astring release];
//3、在以上方法中,提升速度:initWithString方法

    NSString 
*astring = [[NSString alloc] initWithString:@"This is a String!"];
    NSLog(
@"astring:%@",astring);
    [astring release];
//4、用标准c创建字符串:initWithCString方法

    
char *Cstring = "This is a String!";
    NSString 
*astring = [[NSString alloc] initWithCString:Cstring];
    NSLog(
@"astring:%@",astring);
    [astring release];
//5、创建格式化字符串:占位符(由一个%加一个字符组成)

    
int i = 1;
    
int j = 2;
    NSString 
*astring = [[NSString alloc] initWithString:[NSString stringWithFormat:@"%d.This is %i string!",i,j]];
    NSLog(
@"astring:%@",astring);
    [astring release];
//6、创建临时字符串

    NSString 
*astring;
    astring 
= [NSString stringWithCString:"This is a temporary string"];
    NSLog(
@"astring:%@",astring);/*----------------从文件读取字符串:initWithContentsOfFile方法 ----------------*/   

    NSString 

*path = @"astring.text";
    NSString 
*astring = [[NSString alloc] initWithContentsOfFile:path];
    NSLog(
@"astring:%@",astring);
    [astring release];
/*----------------写字符串到文件:writeToFile方法 ----------------*/   

    NSString 

*astring = [[NSString alloc] initWithString:@"This is a String!"];
    NSLog(
@"astring:%@",astring);
    NSString 
*path = @"astring.text";   
    [astring writeToFile: path atomically: YES];
    [astring release];   
/*---------------- 比较两个字符串----------------*/        //用C比较:strcmp函数

    
char string1[] = "string!";
    
char string2[] = "string!";
    
if(strcmp(string1, string2) = = 0)
    {
        NSLog(
@"1");
    }
//isEqualToString方法   
    NSString *astring01 = @"This is a String!";
    NSString 
*astring02 = @"This is a String!";
    BOOL result 
= [astring01 isEqualToString:astring02];
    NSLog(
@"result:%d",result);//compare方法(comparer返回的三种值)   
    NSString *astring01 = @"This is a String!";
    NSString 
*astring02 = @"This is a String!";   
    BOOL result 
= [astring01 compare:astring02] = = NSOrderedSame;   
    NSLog(
@"result:%d",result);   
    
//NSOrderedSame 判断两者内容是否相同

    NSString 

*astring01 = @"This is a String!";
    NSString 
*astring02 = @"this is a String!";
    BOOL result 
= [astring01 compare:astring02] = = NSOrderedAscending;   
    NSLog(
@"result:%d",result);
    
//NSOrderedAscending 判断两对象值的大小(按字母顺序进行比较,astring02大于astring01为真)

    NSString 

*astring01 = @"this is a String!";
    NSString 
*astring02 = @"This is a String!";
    BOOL result 
= [astring01 compare:astring02] = = NSOrderedDescending;   
    NSLog(
@"result:%d",result);     
    
//NSOrderedDescending 判断两对象值的大小(按字母顺序进行比较,astring02小于astring01为真)//不考虑大 小写比较字符串1
    NSString *astring01 = @"this is a String!";
    NSString 
*astring02 = @"This is a String!";
    BOOL result 
= [astring01 caseInsensitiveCompare:astring02] = = NSOrderedSame;   
    NSLog(
@"result:%d",result);     
    
//NSOrderedDescending判断两对象值的大小(按字母顺序进行比较,astring02小于astring01为 真)//不考虑大小写比较字符串2
    NSString *astring01 = @"this is a String!";
    NSString 
*astring02 = @"This is a String!";
    BOOL result 
= [astring01 compare:astring02
                            options:NSCaseInsensitiveSearch 
| NSNumericSearch] = = NSOrderedSame;   
    NSLog(
@"result:%d",result);     //NSCaseInsensitiveSearch:不区分大小写比较 NSLiteralSearch:进行完全比较,区分大小写 NSNumericSearch:比较字符串的字符个数,而不是字符值。
/*----------------改变字符串的大小写----------------*/   

    NSString 

*string1 = @"A String";
    NSString 
*string2 = @"String";
    NSLog(
@"string1:%@",[string1 uppercaseString]);//大写
    NSLog(@"string2:%@",[string2 lowercaseString]);//小写
    NSLog(@"string2:%@",[string2 capitalizedString]);//首字母大小
/*----------------在串中搜索子串 ----------------*/        

    NSString 

*string1 = @"This is a string";
    NSString 
*string2 = @"string";
    NSRange range 
= [string1 rangeOfString:string2];
    
int location = range.location;
    
int leight = range.length;
    NSString 
*astring = [[NSString alloc] initWithString:[NSString stringWithFormat:@"Location:%i,Leight:%i",location,leight]];
    NSLog(
@"astring:%@",astring);
    [astring release];
/*----------------抽取子串 ----------------*/        //-substringToIndex: 从字符串的开头一直截取到指定的位置,但不包括该位置的字符
    NSString *string1 = @"This is a string";
    NSString 
*string2 = [string1 substringToIndex:3];
    NSLog(
@"string2:%@",string2);//-substringFromIndex: 以指定位置开始(包括指定位置的字符),并包括之后的全部字符
    NSString *string1 = @"This is a string";
    NSString 
*string2 = [string1 substringFromIndex:3];
    NSLog(
@"string2:%@",string2);//-substringWithRange: //按照所给出的位置,长度,任意地从字符串中截取子串
    NSString *string1 = @"This is a string";
    NSString 
*string2 = [string1 substringWithRange:NSMakeRange(04)];
    NSLog(
@"string2:%@",string2);
//快速枚举
    
//for(NSString *filename in direnum)
    
//{
    
//    if([[filename pathExtension] isEqualToString:@"jpg"]){
    
//        [files addObject:filename];
    
//    }
    
//}
    NSLog(@"files:%@",files);//枚举
    NSEnumerator *filenum;
    filenum 
= [files objectEnumerator];
    
while (filename = [filenum nextObject]) {
        NSLog(
@"filename:%@",filename);
    }
@"b",@"a",@"e",@"d",@"c",@"f",@"h",@"g",nil];   
    NSLog(
@"oldArray:%@",oldArray);
    NSEnumerator 
*enumerator;
    enumerator 
= [oldArray objectEnumerator];
    id obj;
    
while(obj = [enumerator nextObject])
    {
        [newArray addObject: obj];
    }
    [newArray sortUsingSelector:@selector(compare:)];
    NSLog(
@"newArray:%@", newArray);
    [newArray release];
/*--------------------------- 切分数组------------------------------*///从字符串分割到数组- componentsSeparatedByString:
    NSString *string = [[NSString alloc] initWithString:@"One,Two,Three,Four"];
    NSLog(
@"string:%@",string);   
    NSArray 
*array = [string componentsSeparatedByString:@","];
    NSLog(
@"array:%@",array);
    [
string release];//从数组合并元素到字符串- componentsJoinedByString:
    NSArray *array = [[NSArray alloc] initWithObjects:@"One",@"Two",@"Three",@"Four",nil];
    NSString 
*string = [array componentsJoinedByString:@","];
    NSLog(
@"string:%@",string);/************************************************************************
     NSMutableArray
     ************************************************************************
*/
    
/*--------------- 给数组分配容量----------------*/
    
//NSArray *array;
    array = [NSMutableArray arrayWithCapacity:20];/*-------------- 在数组末尾添加对象----------------*/
    
//- (void) addObject: (id) anObject;
    
//NSMutableArray *array = [NSMutableArray arrayWithObjects:
    @"One",@"Two",@"Three",nil];
    [array addObject:
@"Four"];
    NSLog(
@"array:%@",array);/*-------------- 删除数组中指定索引处对象----------------*/   
    
//-(void) removeObjectAtIndex: (unsigned) index;   
    
//NSMutableArray *array = [NSMutableArray arrayWithObjects:
    @"One",@"Two",@"Three",nil];
    [array removeObjectAtIndex:
1];
    NSLog(
@"array:%@",array);/*------------- 数组枚举---------------*/   
    
//- (NSEnumerator *)objectEnumerator;从前向后
    
//NSMutableArray *array = [NSMutableArray arrayWithObjects:
    @"One",@"Two",@"Three",nil];
    NSEnumerator 
*enumerator;
    enumerator 
= [array objectEnumerator];

    id thingie;

while (thingie = [enumerator nextObject]) {
        NSLog(
@"thingie:%@",thingie);
    }
//- (NSEnumerator *)reverseObjectEnumerator;从后向前
    
//NSMutableArray *array = [NSMutableArray arrayWithObjects:
    @"One",@"Two",@"Three",nil];
    NSEnumerator 
*enumerator;
    enumerator 
= [array reverseObjectEnumerator];

    id 

object;
    
while (object = [enumerator nextObject]) {
        NSLog(
@"object:%@",object);
    }
//快速枚举
    
//NSMutableArray *array = [NSMutableArray arrayWithObjects:
    @"One",@"Two",@"Three",nil];
    
for(NSString *string in array)
    {
        NSLog(
@"string:%@",string);
    }
/*****************************************************************************
     NSDictionary
     **************************************************************************
*//*------------------------------------创建字典 ------------------------------------*/
    
//- (id) initWithObjectsAndKeys;//NSDictionary *dictionary = [[NSDictionary alloc] initWithObjectsAndKeys:@"One",@"1",@"Two",@"2",@"Three",@"3",nil];
    NSString *string = [dictionary objectForKey:@"One"];
    NSLog(
@"string:%@",string);
    NSLog(
@"dictionary:%@",dictionary);
    [dictionary release];
/********************************************************************************
     NSMutableDictionary
     *******************************************************************************
*//*------------------------------------创建可变字典 ------------------------------------*/   
    
//创建
    NSMutableDictionary *dictionary = [NSMutableDictionary dictionary];//添加字典
    [dictionary setObject:@"One" forKey:@"1"];
    [dictionary setObject:
@"Two" forKey:@"2"];
    [dictionary setObject:
@"Three" forKey:@"3"];
    [dictionary setObject:
@"Four" forKey:@"4"];
    NSLog(
@"dictionary:%@",dictionary);//删除指定的字典
    [dictionary removeObjectForKey:@"3"];
    NSLog(
@"dictionary:%@",dictionary);/******************************************************************************
     NSValue(对任何对象进行包装)
     ***************************************************************************
*//*--------------------------------将NSRect放入NSArray中 ------------------------------------*/   
    
//将NSRect放入NSArray中
    NSMutableArray *array = [[NSMutableArray alloc] init];
    NSValue 
*value;
    CGRect rect 
= CGRectMake(00320480);   
    value 
= [NSValue valueWithBytes:&rect objCType:@encode(CGRect)];
    [array addObject:value];
    NSLog(
@"array:%@",array);//从Array中 提取
    value = [array objectAtIndex:0];
    [value getValue:
&rect];
    NSLog(
@"value:%@",value);/**************************************************************************
     从目录搜索扩展名为jpg的文件
   ****************************************************************************
*///NSFileManager *fileManager = [NSFileManager defaultManager];
    NSString *home;
    home 
= @"../Users/";

    NSDirectoryEnumerator 

*direnum;
    direnum 
= [fileManager enumeratorAtPath: home];

    NSMutableArray 

*files = [[NSMutableArray alloc] init];//枚举
    NSString *filename;
    
while (filename = [direnum nextObject]) {
        
if([[filename pathExtension] hasSuffix:@"jpg"]){
            [files addObject:filename];
        }
    }
//扩展路径

    NSString 
*Path = @"~/NSData.txt";
    NSString 
*absolutePath = [Path stringByExpandingTildeInPath];
    NSLog(
@"absolutePath:%@",absolutePath);
    NSLog(
@"Path:%@",[absolutePath stringByAbbreviatingWithTildeInPath]);//文件扩展名
    NSString *Path = @"~/NSData.txt";
    NSLog(
@"Extension:%@",[Path pathExtension]);/***********************************************************************
     NSMutableString
     **********************************************************************
*/   /*---------------给字符串分配容量----------------*/
    
//stringWithCapacity:
    NSMutableString *String;
    String 
= [NSMutableString stringWithCapacity:40];/*---------------在已有字符串后面添加字符----------------*/   //appendString: and appendFormat:

    NSMutableString 
*String1 = [[NSMutableString alloc] initWithString:@"This is a NSMutableString"];
    
//[String1 appendString:@", I will be adding some character"];
    [String1 appendFormat:[NSString stringWithFormat:@", I will be adding some character"]];
    NSLog(
@"String1:%@",String1);
    
*//*-------- 在已有字符串中按照所给出范围和长度删除字符------*/   
    
/*
     //deleteCharactersInRange:
     NSMutableString *String1 = [[NSMutableString alloc] initWithString:@"This is a NSMutableString"];
     [String1 deleteCharactersInRange:NSMakeRange(0, 5)];
     NSLog(@"String1:%@",String1);

     /*--------在已有字符串后面在所指定的位置中插入给出的字符串------

*///-insertString: atIndex:
    NSMutableString *String1 = [[NSMutableString alloc] initWithString:@"This is a NSMutableString"];
    [String1 insertString:
@"Hi! " atIndex:0];
    NSLog(
@"String1:%@",String1);/*--------将已有的空符串换成其它的字符串------*///-setString:
    NSMutableString *String1 = [[NSMutableString alloc] initWithString:@"This is a NSMutableString"];
    [String1 setString:
@"Hello Word!"];
    NSLog(
@"String1:%@",String1);/*--------按照所给出的范围,和字符串替换的原有的字符------*///-setString:
    NSMutableString *String1 = [[NSMutableString alloc] initWithString:@"This is a NSMutableString"];
    [String1 replaceCharactersInRange:NSMakeRange(
04) withString:@"That"];
    NSLog(
@"String1:%@",String1);/*-------------判断字符串内是否还包含别的字符串(前缀,后缀)-------------*/
    
//01: 检查字符串是否以另一个字符串开头- (BOOL) hasPrefix: (NSString *) aString;
    NSString *String1 = @"NSStringInformation.txt";
    [String1 hasPrefix:
@"NSString"= = 1 ?  NSLog(@"YES") : NSLog(@"NO");
    [String1 hasSuffix:
@".txt"= = 1 ?  NSLog(@"YES") : NSLog(@"NO");//02: 查找字符串某处是否包含其它字符串 - (NSRange) rangeOfString: (NSString *) aString,这一点前面在串中搜索子串用到过;
/**************************************************************************
     NSArray
  ***************************************************************************
*//*---------------------------创建数组 ------------------------------*/
    
//NSArray *array = [[NSArray alloc] initWithObjects:
    @"One",@"Two",@"Three",@"Four",nil];

    self.dataArray 

= array;
    [array release];
//- (unsigned) Count;数组所包含对象个数;
    NSLog(@"self.dataArray cound:%d",[self.dataArray count]);//- (id) objectAtIndex: (unsigned int) index;获取指定索引处的对象;
    NSLog(@"self.dataArray cound 2:%@",[self.dataArray objectAtIndex:2]);/*-------------------------- 从一个数组拷贝数据到另一数组(可变数级)----------------------------*/   //arrayWithArray:
    
//NSArray *array1 = [[NSArray alloc] init];
    NSMutableArray *MutableArray = [[NSMutableArray alloc] init];
    NSArray 
*array = [NSArray arrayWithObjects:
                      
@"a",@"b",@"c",nil];
    NSLog(
@"array:%@",array);
    MutableArray 
= [NSMutableArray arrayWithArray:array];
    NSLog(
@"MutableArray:%@",MutableArray);

    array1 

= [NSArray arrayWithArray:array];
    NSLog(
@"array1:%@",array1);//Copy//id obj;
    NSMutableArray *newArray = [[NSMutableArray alloc] init];
    NSArray 
*oldArray = [NSArray arrayWithObjects:
                         
@"a",@"b",@"c",@"d",@"e",@"f",@"g",@"h",nil];

    NSLog(

@"oldArray:%@",oldArray);
    
for(int i = 0; i < [oldArray count]; i++)
    {        
        obj 
= [[oldArray objectAtIndex:i] copy];
        [newArray addObject: obj];
    }
    
//     
    NSLog(@"newArray:%@", newArray);
    [newArray release];
//快速枚举//NSMutableArray *newArray = [[NSMutableArray alloc] init];
    NSArray *oldArray = [NSArray arrayWithObjects:
                         
@"a",@"b",@"c",@"d",@"e",@"f",@"g",@"h",nil];   
    NSLog(
@"oldArray:%@",oldArray);for(id obj in oldArray)
    {
        [newArray addObject: obj];
    }
    
//     
    NSLog(@"newArray:%@", newArray);
    [newArray release];   
//Deep copy//NSMutableArray *newArray = [[NSMutableArray alloc] init];
    NSArray *oldArray = [NSArray arrayWithObjects:
                         
@"a",@"b",@"c",@"d",@"e",@"f",@"g",@"h",nil];   
    NSLog(
@"oldArray:%@",oldArray);   
    newArray 
= (NSMutableArray*)CFPropertyListCreateDeepCopy(kCFAllocatorDefault, (CFPropertyListRef)oldArray, kCFPropertyListMutableContainers);
    NSLog(
@"newArray:%@", newArray);
    [newArray release];   
//Copy and sort//NSMutableArray *newArray = [[NSMutableArray alloc] init];
    NSArray *oldArray = [NSArray arrayWithObjects: