所以我试图围绕Objctive-C接口,代理和协议.
所以我有一个问题:

委托是否必须在单独的文件中,或者它是否是您班级中定义的方法?

协议就像java接口吗?这是我理解它的方式,如果你使用这个协议它基本上让你实现方法.

我仍然对界面感到困惑.我很确定它们与java中的接口没有任何相似之处.也许它只是一个将在类中实现的变量声明.

解决方法

>当另一个对象执行某些操作时,将通知代理点.例如,您的一个对象想要知道窗口正在关闭,因此您将其注册为窗口的委托并实现windowWillClose:方法.它将由NSWindow适当调用.因此委托方法通常在另一个类中定义.在某一点上,它允许您扩展类的功能而无需对其进行子类化.
>(编辑:请参阅Daniel关于协议的答案.)
> @interface是类声明,其中列出了成员变量和方法.它位于.h中,如果需要使用该类,则导入.h.方法的代码位于.m文件中的@implementation中.在 Java中它不同,.java文件有两个目的.

ios – Objective C接口,委托和协议的更多相关文章

  1. Html5页面二次分享的实现

    这篇文章主要介绍了Html5页面二次分享的实现的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

  2. HTML5跳转小程序wx-open-launch-weapp的示例代码

    这篇文章主要介绍了HTML5跳转小程序wx-open-launch-weapp的相关知识,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

  3. ios – 从不调用交互式代理方法

    也不起作用.有任何想法吗?

  4. ios – 在AFNetworking中设置用户代理

    我们的iOS应用程序最近被Apple拒绝,因为它无法与我们的服务器api建立有效连接.我们使用特殊格式的用户代理来注册设备令牌等.如果用户代理不适合我们的sheme,则api会阻止请求.这一切都很好地在模拟器和真实设备上测试应用程序.用户代理设置正确,api调用工作正常.当Apple测试应用程序时,他们拒绝了它,因为应用程序无法连接到api.当我们检查服务器日志文件时,我们注意到,Apple测试人

  5. ios – Objective C接口,委托和协议

    所以我试图围绕Objctive-C接口,代理和协议.所以我有一个问题:委托是否必须在单独的文件中,或者它是否是您班级中定义的方法?协议就像java接口吗?

  6. ios – 代理与Unwind Segue传递数据到父场景

    自从iOS6以来,展开的部分已经可以在场景层次结构中向上导航.我正在努力确定将数据传递给父视图控制器的更干净/更好/更好/更可维护的方法.有一些问题从技术的角度来解决(例如“如果我有一个放松我还需要一个代表”),但是我找不到很多解决利弊问题的问题.选项1:使用代理.通过传递父视图控制器作为遵守协议的委托来完成.子调用协议方法返回数据.>如果父项需要数据验证,则返回值/dict,以允许小孩处理错误.

  7. ios – UITextField代理跳到100%CPU使用率,并使用键盘快捷键崩溃

    你如何知道iOS不要求UIView或CGLayer或任何其他类型的对象?

  8. 多个监听器用于委托iOS

    我有一个带有代理didSelectString的类搜索栏.我有一个实现委托的A类和一个实现委托的B类.但是只有来自A类的代理才被执行.代表可以有多个监听器吗?并且如何实现这一点解决方法该委托是单一消息传递协议.如果要发送更改的多个对象,则需要使用NSNotifications.您可以使用通知中心传递对象,如下所示:想要收听通知时并设置选择器

  9. ios – UITextFieldDelegate vs UITextField控件事件

    处理编辑开始或编辑结束的相同问题.它可以通过适当的委托方法或适当的事件来完成.如果控件事件可以进行必要的工作,那么textField代理是什么?

  10. ios – watchOS错误:控制器的接口描述中的未知属性

    解决方法创建IBOutlet作为WKInterfacePicker的属性,您将不会收到消息.

随机推荐

  1. iOS实现拖拽View跟随手指浮动效果

    这篇文章主要为大家详细介绍了iOS实现拖拽View跟随手指浮动,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  2. iOS – genstrings:无法连接到输出目录en.lproj

    使用我桌面上的项目文件夹,我启动终端输入:cd然后将我的项目文件夹拖到终端,它给了我路径.然后我将这行代码粘贴到终端中找.-name*.m|xargsgenstrings-oen.lproj我在终端中收到此错误消息:genstrings:无法连接到输出目录en.lproj它多次打印这行,然后说我的项目是一个目录的路径?没有.strings文件.对我做错了什么的想法?

  3. iOS 7 UIButtonBarItem图像没有色调

    如何确保按钮图标采用全局色调?解决方法只是想将其转换为根注释,以便为“回答”复选标记提供更好的上下文,并提供更好的格式.我能想出这个!

  4. ios – 在自定义相机层的AVFoundation中自动对焦和自动曝光

    为AVFoundation定制图层相机创建精确的自动对焦和曝光的最佳方法是什么?

  5. ios – Xcode找不到Alamofire,错误:没有这样的模块’Alamofire’

    我正在尝试按照github(https://github.com/Alamofire/Alamofire#cocoapods)指令将Alamofire包含在我的Swift项目中.我创建了一个新项目,导航到项目目录并运行此命令sudogeminstallcocoapods.然后我面临以下错误:搜索后我设法通过运行此命令安装cocoapodssudogeminstall-n/usr/local/bin

  6. ios – 在没有iPhone6s或更新的情况下测试ARKit

    我在决定下载Xcode9之前.我想玩新的框架–ARKit.我知道要用ARKit运行app我需要一个带有A9芯片或更新版本的设备.不幸的是我有一个较旧的.我的问题是已经下载了新Xcode的人.在我的情况下有可能运行ARKit应用程序吗?那个或其他任何模拟器?任何想法或我将不得不购买新设备?解决方法任何iOS11设备都可以使用ARKit,但是具有高质量AR体验的全球跟踪功能需要使用A9或更高版本处理器的设备.使用iOS11测试版更新您的设备是必要的.

  7. 将iOS应用移植到Android

    我们制作了一个具有2000个目标c类的退出大型iOS应用程序.我想知道有一个最佳实践指南将其移植到Android?此外,由于我们的应用程序大量使用UINavigation和UIView控制器,我想知道在Android上有类似的模型和实现.谢谢到目前为止,guenter解决方法老实说,我认为你正在计划的只是制作难以维护的糟糕代码.我意识到这听起来像很多工作,但从长远来看它会更容易,我只是将应用程序的概念“移植”到android并从头开始编写.

  8. ios – 在Swift中覆盖Objective C类方法

    我是Swift的初学者,我正在尝试在Swift项目中使用JSONModel.我想从JSONModel覆盖方法keyMapper,但我没有找到如何覆盖模型类中的Objective-C类方法.该方法的签名是:我怎样才能做到这一点?解决方法您可以像覆盖实例方法一样执行此操作,但使用class关键字除外:

  9. ios – 在WKWebView中获取链接URL

    我想在WKWebView中获取tapped链接的url.链接采用自定义格式,可触发应用中的某些操作.例如HTTP://我的网站/帮助#深层链接对讲.我这样使用KVO:这在第一次点击链接时效果很好.但是,如果我连续两次点击相同的链接,它将不报告链接点击.是否有解决方法来解决这个问题,以便我可以检测每个点击并获取链接?任何关于这个的指针都会很棒!解决方法像这样更改addobserver在observeValue函数中,您可以获得两个值

  10. ios – 在Swift的UIView中找到UILabel

    我正在尝试在我的UIViewControllers的超级视图中找到我的UILabels.这是我的代码:这是在Objective-C中推荐的方式,但是在Swift中我只得到UIViews和CALayer.我肯定在提供给这个方法的视图中有UILabel.我错过了什么?我的UIViewController中的调用:解决方法使用函数式编程概念可以更轻松地实现这一目标.

返回
顶部