我已经阅读了很多文章,以获得有关目标c中整个代表概念的一些信息。至少我认为我对此有了一般的认识。但我没有找到我的问题的答案 - 或者我刚刚找到它但没有得到它......
在我的情况下,我得到了一个自定义子视图,我在我的UIViewController上以编程方式添加。我希望从自定义UIView进行交互以调用控制器的某些方法。我认为最好有一个委托概念,而不是在SubView中引用我的UIViewController,对吧? 我的问题是,是不是可以用我的UIScrollViewDelegate做点什么。我的UIViewController正在实现一些委托方法,因为我的SubView是一个UIScrollView。那么是否可以添加一个自定义方法,我可以用以下方法调用:
[self.delegate myCustomMethodOnUIViewController]
或者最好的方法是什么?我应该设置一个协议并将其作为自定义委托添加到我的UIViewController中吗?我是否必须在子视图上设置委托属性?
感谢您的帮助! 安迪
答案 0 :(得分:0)
如果您要将UIView作为子视图添加到UIViewController,并且您想要从子视图中的superview执行某些方法,那么您的软件设计可能会出现一些错误。
如果有必要这样做,那么使用@class变量进行循环包含并调用你的方法。阅读有关@class指令的更多信息。
可以在链接中阅读更多插图: @class vs. #import
您可以使用委托和协议,但请确保在相同的上下文中正确处理内存以避免泄漏。