我做过这样的课程:
testClass <UIAccelerometerDelegate>
我实现了委托方法。
然后在我想要这个委托的其他课程中我已经完成了:
testClass *t = [[testClass alloc]init];
UIAccelerometer *a = [UIAccelerometer sharedAccelerometer];
[a setDelegate: t];
并在dealloc中释放t。
它有效,但这是写一般代表的正确方法吗?
答案 0 :(得分:0)
一般来说,这是正确的,但在决定委托retain
或assign
时要小心,以避免循环引用。我之前一直都是这样。这是一篇很好的文章,谈论它和一些细微差别:Why are Objective-C delegates usually given the property assign instead of retain?
答案 1 :(得分:0)
这是编写委托的一种方法。一种更简单的方法是在您创建testClass
实例的类中实现委托方法,并将UIAccelerometer
委托属性设置为self
。
另外,只是一致性说明,类名以大写字母开头是合适的,因此您的类应该被称为TestClass
。
此外,在取消分配委托对象时,您需要将UIAccelerometer
委托属性设置为nil
。