如何正确保持对ActionSheet委托使用的对象的引用?

时间:2013-04-16 09:35:36

标签: iphone ios objective-c ipad cocoa-touch

我经常遇到一种情况,即我有一个对象的引用。

我必须通过UIActionSheet询问用户如何处理它。

所以我使用该操作表,但在用户点击一行后,我有用户的意愿,但没有对该对象的引用。

我通常在视图控制器中使用一个属性来保留对象的引用,但我发现这个设计真的很差......

有没有办法正确地做到这一点?

2 个答案:

答案 0 :(得分:1)

您可以使用objc_setAssociatedObject将UIActionSheet实例与对象关联,然后使用objc_getAssociatedObject检索UIActionSheet委托方法中的对象。

Apple doc:https://developer.apple.com/library/mac/documentation/Cocoa/Reference/ObjCRuntimeRef/Reference/reference.html#//apple_ref/c/func/objc_getAssociatedObject

答案 1 :(得分:0)

我不确定您的实现以及对象中的数据类型,但您可以使用Singleton设计模式,创建共享实例并在UIActionSheet委托方法中执行任何所需的操作。