*初学iOS程序员,请耐心解释
假设我有 2 个课程 - Foo,Bar
在类 Bar 中,我有一个指向 Foo 实例的指针,它是我在初始化期间设置的。(而且因为我不知道如何正确地相互导入 Foo 和 Bar,我最终将类型设置为 id 而不是 Foo)
@implementation Bar{
id pointerToInstanceOfFoo;
}
我如何为 Bar 编写 dealloc 函数?还是我什至会覆盖 dealloc 函数?
现在我有
-(void)dealloc{
pointerToInstanceOfFoo = NULL;
[super dealloc];
}
我仍然希望当 Bar 死时指向 Foo 的指针仍然存在,但我做对了吗?几个问题:
- 如果 Foo 和 Bar 相互导入,我该怎么做?或者这是糟糕的软件设计?
- 现在我在@implementation 中设置了指针“pointerToInstanceOfFoo”...这是否等同于在类 Bar 中声明一个私有指针?
- 我应该改为使用
@property (nonatomic, weak) id pointerToInstanceOfFoo
吗?如果是这样,为什么我会不断收到关于 ARC 中没有弱指针的错误? - 我需要
delete pointerToInstanceOfFoo;
在 dealloc 函数中吗?
对不起,任何解释/答案将不胜感激!
PS我正在使用XCode 4.4并在带有cocos2d v2.1 beta的iOS 5.0上运行......我认为它正在使用arc