草庐IT

Delegate

全部标签

ios - 即使在小代码示例中将 unowned 与 Protocol 一起使用时也会发生 Swift Leak

这是我的代码:我的Storyboard上有ViewWithCollectionView。它只是为此示例创建的一个简单的空View。我已将我的delegate设置为unowned,但XcodeLeaks仍将其显示为泄漏,我不明白为什么。有人可以帮忙吗?importUIKitclassViewController:UIViewController{@IBOutletweakvartheView:ViewWithCollectionView!overridefuncviewDidLoad(){super.viewDidLoad()}}classViewWithCollectionView:U

ios - Eureka 行在 Swift 3.0 中呈现 View Controller 和返回值

我正在寻求帮助,以弄清楚如何让MultivaluedSection中的一行呈现具有第二个Eureka表单的ViewController,并将值返回给MultivaluedSection行。我已经能够获得一个常规的ButtonRow来使用segue推送ViewController,但我无法弄清楚不将值返回到MultivaluedSection中的行。我不确定ButtonRow方法是否支持返回值,所以我开始寻找其他解决方案。我发现的一个是使用自定义演示者行(https://github.com/xmartlabs/Eureka#custom-presenter-rows),但我不明白如何使

ios - 为什么委托(delegate)中的所有方法都具有相同的名称?

我开始使用Swift开发一个简单的应用程序,其中包含一个tableView、一个对服务器的请求以及其他一些东西。我意识到UITableViewDelegate协议(protocol)中的每个方法都以相同的方式命名(我猜它可能与其他协议(protocol)相同)并且通过更改传递给这些方法的参数(顺便称为“tableView”)来实现差异.我想知道为什么Apple会做这样的事情,因为当我尝试从这个协议(protocol)实现方法时有点困惑,因为我不能开始输入“didSele...”只是为了自动完成“didSelectRowAtIndexPath”;相反,我必须键入“tableView”以获

macos - 你如何重新打开在 OS X 的 Storyboard 中创建的关闭窗口

我的问题很重要,但答案似乎不适用于Swift/Storyboards。Cocoa:programmaticallyshowthemainwindowafterclosingitwithX基本上,我有一个或多或少带有菜单、窗口和ViewController的默认应用程序。如果用户在应用程序运行时关闭了窗口,我该如何重新打开它?我在应用程序中创建了一个操作委托(delegate)连接到“打开”菜单项。在此功能中,我想确保窗口可见。因此,如果用户关闭了它,它应该重新出现。但我不知道如何访问关闭的窗口。Storyboard似乎不允许我在我的应用程序委托(delegate)中为我的窗口创建导出。

ios - 如何从一个类调用另一个类的委托(delegate)方法

在此处使用swift的表列表中,我想在另一个类ViewController中加载一个类表列表,这个概念在objective-c中有效,但归结为swift委托(delegate)方法不调用我的objective-c@swift代码下面请帮我一些人BackGroundView.h:-#import@interfaceBackGroundViewUIViewController{UITableView*tableView;}@property(nonatomic,retain)UITableView*tableView;-(void)tableList:(UIView*)view1;@end

swift - swift 中 UITableView 的动态数据源/委托(delegate)

我需要根据特定条件设置不同的对象作为TableView的数据源和委托(delegate)。但是我无法分配tableview的数据源/委托(delegate),因为它会抛出一些错误。CannotassignavalueoftypeNSObject?toavalueoftypeUITableViewDelegate?我检查了this问答,但这没有用。vardataSourceDelegate:NSObject?classRootViewController:UIViewController{...overridefuncviewDidLoad(){dataSourceDelegate=Ta

ios - 当委托(delegate)不是 UIViewController 时不调用 UIImagePickerControllerDelegate 方法

我有一个包含多张图片的View,每张图片都旨在从设备的照片库中选择。我遵循了theFoodTrackertutorial中的示例,使用点击手势识别器,每个ImageView一个。我已将每个UIImageView的socket连接到我的ViewController中。选择图像时,我希望将设备照片库中的图像设置为所选UIImageView的图像属性。我想这样做的方法是使用封装到一个采用UIImagePickerControllerDelegate协议(protocol)的类中的闭包。但是,永远不会调用此类上的方法。如果我改为让我的ViewController成为委托(delegate),则

swift + OS X 沙盒:将 'NSVBOpenPanel' 视为 'NSOpenPanel'::因为我需要在委托(delegate)方法中获取发件人

我使用的是swift,我展示了一个NSOpenPanel。在委托(delegate)中,我需要查看发件人的提示以区分要采取的操作:例如funcshow(){...panel.delegate=selfpanel.prompt="xy"panel.run....}funcshow2(){...panel.delegate=selfpanel.prompt="abc"panel.run....}//delegatefuncpanel(sender:AnyObject,shouldEnableURLurl:NSURL)->Bool{letpanelPrompt=(senderas!NSOpe

arrays - 在 Swift 中使用委托(delegate)数组时如何避免保留循环

这个问题在这里已经有了答案:UsingasaconcretetypeconformingtoprotocolAnyObjectisnotsupported(6个答案)关闭5年前。在我的一个类(class)中,我使用了一组委托(delegate)(该类(class)是一个单例)。这会导致保留周期。我知道当我只使用一个委托(delegate)时,我可以通过弱化委托(delegate)来避免保留周期。但这不适用于我的委托(delegate)数组。我怎样才能避免这个保留周期。例子:protocolSomeDelegate:class{funcsomeFunction()}我的类(class)c

ios - 如何在初始化函数中将委托(delegate)设置为 self ?

我有一个名为MQTTController的类,带有共享实例和私有(private)初始化方法classMQTTController:NSObject,CocoaMQTTDelegate{staticletsharedInstance=MQTTController()varclientID:Stringvarmqtt:CocoaMQTTprivateoverrideinit(){clientID="xyz-"+String(ProcessInfo().processIdentifier)mqtt=CocoaMQTT(clientID:clientID,host:"mqttcontroll