zoukankan      html  css  js  c++  java
  • Object-C 基础知识总结

     

    Object-C 基础知识总结

    1、Object-C与Cocoa的区别:Object-C是一门编程语言,Cocoa是一个函数库,类似于C#与.Net的关系

    2、- 和 +

     (1) -(void) Method: (int) fun 

    表示一个成员方法,通过类创建一个实例进行调用。

     (2)+(void) Method: (int) fun

    表示一个类方法,其他函数可以直接调用这个类中的方法,而不需要创建这个类的实例。(类似于C++的静态函数)

    3、[]

    [self Method: 1]

     Object-C 中通常说的“消息”,就是用于调用方法的。

    4、成员变量和成员方法的访问

    复制代码
    @interface Fraction: NSObject
    {
    int member1;
    @public int menber2;
    }
    
    -(void) Method: (int) fun;
    
    @end
    复制代码

      Object-C中的成员变量使用了@public、@protected、@private作为访问修饰符,默认的@protected。Object-C中只用成员变量有访问修饰符,类变量、类方法、成员方法是没有访问修饰符的,所有的方法都是@public,所有的类变量都是@private。

    5、方法实现与方法声明中的参数名不同,方法实现处经常使用参数名缩写

     在方法中,本地变量(参数、方法中定义的变量)在名称冲突的情况下,会隐藏成员变量,因此导致赋值变成无意义的操作。这种情况可以使用self关键字,写出self->variable = variable.

    6、不在XX.h文件中声明的方法是一种变相的私有化,这个方法依然可以被调用。只是在编译时会受到一个警告。

    7、

    复制代码
    -(id) init
    {
    if(self = [super init])
    {
      .......
    }
    return self;
    }
    复制代码

     把[super init]的返回值赋值给self,由于Object-C是动态语言,所以init方法很可能会返回一个不是当前类型的返回值,也可能是另一个类型的。因此为了保证程序能够正常工作,需要把父类的init方法产生的返回值赋予给self,让self指向父类init方法返回的对象,然后从能开始其他操作。

    8、方法含有多个参数

    (方法的数据类型) 方法名称: (参数1数据类型) 参数1名称 参数2标签: (参数2数据类型) 参数2名称 参数3标签: (...) .....

    9、CF、CA CG、UI等开头的接口

    CF:Core Foundation
    CA:Core Animation
    CG: Core Graphics
    UI:iPhone的User Interface

    转载于:http://www.cnblogs.com/davidzhou11225/archive/2012/05/23/2514714.html

  • 相关阅读:
    C# Enum转换
    Split
    WCF访问安全
    [转] 检索 COM 类工厂中 CLSID 为 {000209FF00000000C000000000000046} 的组件时失败
    ICSharpCode.SharpZipLib.dll压缩的zip包,7zip解压时出错
    js控制ctrl+p
    跨域访问WCF问题
    sql:过滤字段中是否包含数字
    序列化/反序化
    [转]RegistryKey 操作注册表
  • 原文地址:https://www.cnblogs.com/wodehao0808/p/3592170.html
Copyright © 2011-2022 走看看