zoukankan      html  css  js  c++  java
  • Objective C中的札记字符串连接,@selector中的冒号,时间转换,局部变量

    1 字符串链接

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

    “a”  “ character ”

    “String”

    等价于:”a character string”

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

    @”a” @”character “

    @”string”

    等价于:@”a character string”

    2 @selector中的方法中的冒号

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

    如:有如下方法:

    -(NSString*)toXmlString;

    此时调用类似于:

    [self respondsToSelector:@selector(toXmlString)]

    如果toXmlString方法的定义为:

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

    那么调用就必须加上冒号,如:[self respondsToSelector:@selector(toXmlString:)]

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

    Soap在传输中的日期时间的格式一般是:yyyy—MM-dd’T’HH:mm:ss’Z’

    (NSString*)dateToSoapString(NSDate*)date{

    NSDateFormatter* dateFormatter=[[NSDateFormatter alloc] init];

    [dateFormatter setDateFormat:@”yyyy—MM-dd’T’HH:mm:ss’Z’”];

    NSString* dateString=[dateFormatter stringFromDate:date];

    [dateFormatter release];

    return dateString;

    }

    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

    4 局部变量

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

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

    如:

    -(void) showPage{

    static int pageCount=0;

    pageCount++;

    }

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

  • 相关阅读:
    gulp+browser-sync使用方法
    小程序试用体验
    移动端调试总结
    函数防抖和函数分流
    页面返回顶部的方法总结
    POJ
    POJ
    UVA 10129 Play on Words(欧拉道路)
    UVA 10305 Ordering Tasks (拓扑排序)
    UVA 12657 Boxes in a Line(双向链表+小技巧)
  • 原文地址:https://www.cnblogs.com/LazyBee/p/1772626.html
Copyright © 2011-2022 走看看