OC学习笔记(一)

招了一份ios的实习,只能从零开始学习了。。

我们第一周的任务是熟悉oc的使用,这里就不繁复地罗列了,会记几个重点,也就是oc特有的东西。

1.oc的消息机制

oc不像其他语言,有很强的动态特性,[object message]这样的发送给对象的消息会在运行时判断。

2.修改项目模板

修改项目模板以及main函数中的内容
/Applications/Xcode.app/Contents/Developer/Library/Xcode/Templates/Project Templates/Mac/Application/Command Line Tool.xctemplate/

修改OC文件头部的描述信息
/Applications/Xcode.app/Contents/Developer/Library/Xcode/Templates/File Templates/Source/Cocoa Class.xctemplate

Xcode文档安装的位置1:
/Applications/Xcode.app/Contents/Developer/Documentation/DocSets
注意: 拷贝之前最好将默认的文档删除, 因为如果同时存在高版本和低版本的文档, 那么低版本的不会显示
Xcode文档安装的位置2:
/Users/你的用户名/Library/Developer/Shared/Documentation/DocSets
如果没有该文件夹可以自己创建一个

3.NSString

创建字符串:NSString *str = @"lnj";

或者:NSString *str = [NSString stringWithFormat:@"age = %i, height = %f\n", 30, 1.75];

计算字符串的长度:NSUInteger len = [str length]

4. 多态的支持

比如:Animal *a1 = [Dog new];

注意和java不同的是 在多态中, 如果想调用子类特有的方法必须强制类型转换为子类才能调用

5. 实例变量修饰符

@public
>可以在其它类中访问被public修饰的成员变量
>也可以在本类中访问被public修饰的成员变量
>可以在子类中访问父类中被public修饰的成员变量

@private
>不可以在其它类中访问被private修饰的成员变量
>可以在本类中访问被private修饰的成员变量
>不可以在子类中访问父类中被private修饰的成员变量

@protected
>不可以在其它类中访问被protected修饰的成员变量
>可以在本类中访问被protected修饰的成员变量
>可以在子类中访问父类中被protected修饰的成员变量

注意: 默认情况下所有的实例变量都是protected

@package
>介于public和private之间的
如果是在其它包中访问那么就是private的
如果是在当前代码所在的包种访问就是public的

6. 点语法

可以用来直接调用getter/setter方法

7.构造方法

- (instancetype)init:参数列表
{
    self = [super init]; // self == nil == 0
    if (self) {
        // 初始化子类
    }
    return self;
}

8. 类工厂方法

用于快速创建对象的类方法, 我们称之为类工厂方法
类工厂方法中主要用于 给对象分配存储空间和初始化这块存储空间
规范:
1.一定是类方法 +
2.方法名称以类的名称开头, 首字母小写
3.一定有返回值, 返回值是id/instancetype

猜你喜欢

转载自www.cnblogs.com/scaq/p/11257880.html