zoukankan      html  css  js  c++  java
  • 读Google ObjectiveC Style Guide 有感想

    Google Object -C style Guide 很不错,读了之后有些地方觉得还不错,特记录下来,加深印象

    1.  方法类型 + 和 - 之后需要添加一个空格。  

    2.   属性以内部变量以_开始

    3.  方法调用[ ]  类名和参数名在左右括号里不需要添加空格。但是一个方法调用完之后在连续调用,就需要添加空格,如:[[[self alloc] initWithString:string] autorelease];

    4. 函数方法名以小写开头,category的文件名用+比如"NSString+MyCategory.h "

       category的名字应在类的后面添加一个空格,

      如@interface NSString (MyCategory)

         @end 

         

    5.  Dealloc方法放在最上面,方便释放变量。

    6.  操作符和=号两边要添加空格。

    7.  Protocols相关,在id和协议的名字之间不能添加空格

    @interface MyProtocoledClass : NSObject<NSWindowDelegate> {

     @private

      id<MyFancyDelegate> delegate_;

    }

    - (void)setDelegate:(id<MyFancyDelegate>)aDelegate;

    @end

    8.  不需要在初始化的时候设置一个对象为0 或者设置为nil ,对象初始化的时候会自动设置为nil。

    9.  对象的nil判断。

        对一个nil对象发送消息是允许的,如果要判断nil,主要是用于逻辑相关,而不是为了防止程序崩溃。

    10.  BOOL值的认识。

       BOOL 是signed char ,它能有许多值,而不仅仅包含YES(1)  或者 NO(0), 平常确实要多注意。


    11.  与属性相关联的变量必须以 _ 结尾 。

    @interface MyClass : NSObject {

     @private

      NSString *name_;

    }

    @property(copy, nonatomic) NSString *name;

    @end


    @implementation MyClass

    @synthesize name = name_;

    - (id)init {

    ...

    }

    @end


    12. NSString 的属性,一定要用copy:@property(copy, nonatomic) NSString *name;

  • 相关阅读:
    再战徐州
    hibernate系列1
    linux 下python操作mysql
    java synchronized
    深入ASP.NET MVC之九:Ajax支持
    深入ASP.NET MVC之六:Model Binding的实现
    深入ASP.NET MVC之十:服务器端Model Validation
    深入ASP.NET MVC之四:Filter和Action的执行
    深入ASP.NET MVC之七:ActionResult的执行(View的加载和渲染)
    深入ASP.NET MVC之五:Model Binding
  • 原文地址:https://www.cnblogs.com/likwo/p/1950831.html
Copyright © 2011-2022 走看看