iOS开发遇到的问题

1.       问题:两个类相互引入/包含,导致IDE报错,无法进入编译过程

环境: A.h         #import       “B.h”

             B.h         #import       “A.h”

解:     B类中.h文件用@class A;声明A是一个类

             B类.m文件用#import    “A.h”

             A类.h文件依然用原来的#import      “B.h”

解题思路:虽然解决了导包问题,编译也通过,但如果A类有B类型的属性,B类中A类型的属性,这样任然会造成相互引用,当程序结束后,因A类与B类的相互引用,无法释放掉内存。A类/B类对象仍旧存在,最终导致内存泄露,所以还要讲一个类中对另一个类的引用的属性用__weak修饰,这样才不会导致相互引用。

2.       @interface成员变量与@implementation全局变量

前者为实例变量,可继承,       公有,可定义属性

后者为全局变量,不可继承,   私有,可定义属性

3.       switch用法规范,防止在创建对象时报错

switch(){

      case 1:{

             //处理代码

//case 1:后面一定要跟上{}

             break;

}

}

你可能感兴趣的:(ios,iOS开发常见问题)