Total review of Objective--C

  1. /*
        什么是面向对象?
     &OOP(Object Oriented Programming)
     &创建类、得到对象。从类中实例化对象。
     */
  2.  //实例化对象
            /*
             [类名 方法名]alloc - 为对象分配内存空间
             [对象名 方法名]init - 进行初始化操作
             */
  3. //姓名、年龄、性别
    //类内使用成员变量,类外使用属性
    //属性是为了让类外可以访问成员变量
    //属性就是成员变量的接口
    //类内调用成员变量而不是属性,属性是给类外使用的
  4. //实例方法和类方法可以相互调用。
    //实例方法中可以调用类方法,可以调用成员变量
    //类方法中调用实例方法会造成死循环导致程序崩溃,不能调用实例方法。不能调用成员变量,可以调用静态变量。
  5. 什么是封装?为什么要封装?封装的好处?
  6. 【成员变量】访问修饰符的问题: 默认 - 受保护

  1)@public  公有 --在类内类外都可以使用并且可以被继承,在类外使用【指向】来调用类内的成员变量

  2)@private   私有--在类内可以使用,类外无法被调用且不可以被继承

  3)@protected  受保护--在类内可以使用,类外无法调用并且可以被继承

  4)@package  框架权限--在框架内相当于受保护,在框架外相当于私有。

  注:方法没有访问修饰符,同C语言一样

  7. NSObject -- 基类

  多态中:super 调用父类方法  self 调用当前类方法

 1 #import <Foundation/Foundation.h>
 2 
 3 int main(int argc, const char * argv[])
 4 {
 5     @autoreleasepool
 6     {
 7         /*
 8          NSString字符串比较:
 9          比较字符串大小:compare方法返回的结果有三种:NSOrderedAscending(前小后大)
10          ,NSOrderedSame,NSOrderedDescending(前大后小)
11          比较原则:取出每个字符,比较每个字符ASCII码大小
12          注:在OC中使用“==”;是不能比较字符串内容是否相等的,判断字符串内容是否相等,区分大小写,使用的是isEqualToString:。返回值是BOOL类型
13          检查字符前缀方法 hasPrefix:    检查后缀方法 hasSuffix:
14          NSArray:
15          只能存储任意的OC对象,并且是有顺序的
16          他是不可变的,一旦初始化完毕后,它里面的内容就永远固定了,不能删除里面的元素,也不能添加里面的元素。
17          NSDictionary:
18          字典的key值和value值,都必须是对象,不能是基本类型数据
19          键值对不能重复,重复了也不能报错,后出现的不能保存在字典中
20          NSFileManager:
21          使用了单例模式singleton
22          1) 判断文件是否存在
23          调用defaultManager创建一个文件管理的单例对象
24          单例对象:在程序运行期间只有一个对象存在
25          NSFileManager *fm =[NSFileManager defaultManager];
26          BOOL isYES=[fm fileExistsAtPath:filePath(路径字符串)];
27          2) 判断是否是一个目录
28          [fm fileExistsAtPath:filePath isDictionary:&isDir];
29          3) 判断文件是否可读
30          IsYES= [fm isReadableFileAtPath:filePath];
31          4) 是否可写
32          IsYES= [fm isWritableFileAtPath:filePath];
33          */
34         NSString *str1 = @"abc";
35         NSString *str2 = @"Abc";
36         
37         NSComparisonResult result = [str1 compare:str2];//(这个函数是区分大小写的)
38         NSComparisonResult result1 = [str1 compare:str2 options:NSCaseInsensitiveSearch];//这个函数不区分大小写
39         NSComparisonResult result2 = [str1 compare:str2 options:NSCaseInsensitiveSearch|NSNumericSearch];//增加字符个数比较,可以增加限制条件
40         NSLog(@"result = %ld", result);
41         NSLog(@"result1 = %ld", result1);
42         NSLog(@"result2 = %ld", result2);
43         
44         
45     }
46     return 0;
47 }
原文地址:https://www.cnblogs.com/songlei0601/p/5754827.html