详解在Objective-C中多种字符串使用方案


  本文标签:Objective-C 字符串

  在Objective-C中多种字符串使用方案是本文要介绍的内容,主要有字符串与时间的互换、字符串的链接等一些内容,我们来看详细内容  。先来看Objective-C字符串与日期相互转换  。

  1、字符串转换为日期

  1. NSDateFormatter* dateFormat = [[NSDateFormatter alloc] init];//实例化一个NSDateFormatter对象  
  2.       
  3. [dateFormat setDateFormat:@"yyyy-MM-dd HH:mm:ss"];//设定时间格式,这里可以设置成自己需要的格式  
  4.       
  5.  NSDate *date =[dateFormat dateFromString:@"1980-01-01 00:00:01"];  

  2、日期转换为字符串

  1. NSDateFormatter* dateFormat = [[NSDateFormatter alloc] init];//实例化一个NSDateFormatter对象  
  2.       
  3. [dateFormat setDateFormat:@"yyyy-MM-dd HH:mm:ss"];//设定时间格式,这里可以设置成自己需要的格式  
  4.  
  5. NSString *currentDateStr = [dateFormatter stringFromDate:[NSDate date]]; 

  Objective C中的札记--字符串连接,@selector中的冒号,时间转换,局部变量

  3、字符串链接

  预处理程序会自动将相邻的字符串常量链接到一起  。字符串可以通过0或多个空格字符来分割  。如:

  1. “a”  “ character ”  
  2. “String”  
  3.  
  4. 等价于:  
  5.  
  6. ”a character string” 

  常量字符串对象可通过在常量字符串前面放置一个@字符来创建,这种对象的类型是NSConstantString  。同样预处理程序会将相邻的常量字符串对象链接在一起:例如:

  1. @”a” @”character “  
  2. @”string” 

  等价于:

  1. @”a character string” 

  4、@selector中的方法中的冒号

  在调用respondsToSelector:@selector(method)时,这个method只有在该方法存在参数时需要:,如果该方法不需要参数就不需要加这个冒号  。否则,编译不会报错,只是执行返回的值不对  。当然如果方法有多个参数,需要多个冒号,参数有名称的需要带上参数名称  。

  如:有如下方法:

  1. -(NSString*)toXmlString; 

  此时调用类似于:

  1. [self respondsToSelector:@selector(toXmlString)] 

  如果toXmlString方法的定义为:

  1. -(NSString*)toXmlString:(NSString*)prefix; 

  那么调用就必须加上冒号,如:

  1. [self respondsToSelector:@selector(toXmlString:)] 

  5、Soap时间表示,以及时间日期转换

  Soap在传输中的日期时间的格式一般是:

  1. yyyy—MM-dd’T’HH:mm:ss’Z’  
  2. (NSString*)dateToSoapString(NSDate*)date{  
  3. NSDateFormatter* dateFormatter=[[NSDateFormatter alloc] init];  
  4. [dateFormatter setDateFormat:@”yyyy—MM-dd’T’HH:mm:ss’Z’”];  
  5. NSString* dateString=[dateFormatter stringFromDate:date];  
  6. [dateFormatter release];  
  7. return dateString;  
  8. }  
  9. yyyy—MM-dd’T’HH:mm:ss.SSS’Z’ 对应的数据为:2010-07-08T07:00:53.000Z 

  关于时间格式请参考:http://unicode.org/reports/tr35/tr35-6.html#Date_Format_Patterns

  6、局部变量

  局部变量一般是在方法中定义的用于保存临时数据的变量  。方法的参数名也是局部变量  。执行方法时,通过方法传递的任何参数都被复制到局部变量中  。因为方法使用的是参数的副本,所以不能改变通过方法传递的原值,当然如果传递是类实例的话,类实例中的对象或属性是可以通过方法改变其值的  。

  如果在变量前面加上一个static关键字的话,那么变量就变成了静态变量  。静态变量只在程序开始执行时初始化一次,并且自始至终只保存一个值:

  如:

  1. -(void) showPage{  
  2. static int pageCount=0;  
  3. …  
  4. pageCount++;  
  5. …  

  该方法的pageCount可以记录showPage被调用的次数  。

  小结:详解在Objective-C中多种字符串使用方案的内容介绍完了,希望本文对你有所帮助!