objective-c中的多个代表

objective-c中的多个代表,第1张

概述我一直致力于将我的一个应用程序从“共享appdelegate”过程中移开,这个过程看起来很皱眉,尽管它的使用过度.我一直试图为我想做的事情设置协议方法,但我没有运气.我的问题是,你甚至可以让一个viewcontroller将委托请求发送到多个类吗?从我发现它似乎你不能.这是没有意义的,因为我认为这是与mvc的代表和协议的重点.现在只是为了澄清,我知道你可以让一个viewcontroller充当多个 我一直致力于将我的一个应用程序从“共享appdelegate”过程中移开,这个过程看起来很皱眉,尽管它的使用过度.我一直试图为我想做的事情设置协议方法,但我没有运气.我的问题是,你甚至可以让一个vIEwcontroller将委托请求发送到多个类吗?从我发现它似乎你不能.这是没有意义的,因为我认为这是与mvc的代表和协议的重点.现在只是为了澄清,我知道你可以让一个vIEwcontroller充当多个其他vIEwcontrollers的委托.但这不是我要问的.举一个简单的例子,假设你有苹果翻转实用工具模板. “完成”按钮只是调用mainvc的委托方法来解除它.现在我们假设我们添加了一个名为…的新类

@interface NewClass : NSObject <TheOtherDelegate>

它有一个委托方法……

- (voID)doSomething{NSLog(@"The Delegate dID something...");}

我们可以在flipsIDevIEwcontroller上有一个按钮,我们想要调用该委托方法,但是仍然对主视图控制器上的委托方法保持“完成”按钮调用,它会解散它吗?

话虽这么说,我把一个快速的项目放在一起,只是为了看看它是否会起作用,但事实并非如此.我遇到了一个“答案”,说你必须首先实例化你想成为代表的班级……

NewClass *myDelegate = [NewClass alloc] init][fillinMethodHere setDelegate:myDelegate];

不知道为什么它得到了正确的答案检查,因为不用说它不起作用.有什么我想念的吗?我搜索了ib,看看是否有某个“委托”连接,但我找不到任何东西.

在旁注上,当我在我的工作项目中工作时,我读到了关于删除#import并添加@class的建议.再次,这打破了各种各样的事情.奇怪的是,在此之前,我到目前为止所做的工作和建设都很好.当我删除新的@class并且未注释#import时. xcode突然给了我一个错误“无法找到协议减速……”但是,它早了几秒钟才工作.我将不得不删除协议代码并重新添加它以使其再次工作.非常痴迷.

任何帮助,将不胜感激. iv在文档,谷歌,堆栈等中读取的所有内容都应该有效,而不是在实际项目中.

解决方法 “代表”不是一个奇特的对象.它只是一个名为delegate的ID类型的合成属性.如果您愿意,您可以拥有任意数量的属性,这些属性都符合相同的协议.然后,当您想要发出回调时,您只需解决所有问题:

[self.mydelegateA doSomething];[self.mydelegateB doSomething];

等等

您还可以使用可以添加对象的NSMutableArray属性,然后使用[self.myMutableArrayOfDelegates makeObjectsPerformSelector:@selector(doSomething)].

最后,NSNotificationCenter的路径(不要与推送通知混淆)始终是一个提供对象间消息传递系统的类.许多对象可以注册任何其他对象可以发送的消息.

有关更多信息,请参阅Apple的文档. Click Here.

无论这是OS X文档的事实,它仍然非常善于直观地解释事物:click here.

这是一个简单地更改委托属性名称的示例:click here

这是添加另一个协议和第二个代理的示例:click here

最后,这是一个基于前两个的示例,并且具有符合相同协议的第三个委托:click here

@H_404_61@ 总结

以上是内存溢出为你收集整理的objective-c中的多个代表全部内容,希望文章能够帮你解决objective-c中的多个代表所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1033933.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存