Swift 3:泛型中 TapGestureRecognizer 内的委托不会被调用

2023-12-12

我有一个像这样的协议:

public  protocol SubmitAgeDelegate : class  {
func changeSubmitButtonBool()
}

问题是我想在泛型类中调用它。

open class GenericController<UICollectionViewCell,UICollectionReusableView> {

weak var submitAgeDelegate: SubmitAgeDelegate? 

在 UITapGestureRecognizer 内

func tapGestureDidRecognize(_ gesture: UITapGestureRecognizer) {

    if let myAgeDelegate = self.submitAgeDelegate {
        print("inside delegate")   //Never gets inside
        myAgeDelegate.changeSubmitButtonBool() 
    }

}

不太清楚为什么它永远不会被调用?类似的方法也适用于使用 IBAction 函数的常规类。

在我的另一堂课上:

open class MyCell: ActionCell, SubmitAgeDelegate {
weak var submitAgeDelegate: SubmitAgeDelegate?    

public override init(frame: CGRect) {
    super.init(frame: frame)
    submitAgeDelegate  = self
    initialize()
}

// Delegate 
public func changeSubmitButtonBool(){

    print("called ")
}

你永远不会设置submitAgeDelegate of the GenericController。您的帐户中有同名成员MyCell类没有帮助。

您需要获得您的参考GenericController为了设置其代表;没有办法解决这个问题。 (这与泛型没有任何关系;对于非泛型类也是如此。)因为看起来您正在将它用作UICollectionViewCell,您可以使用您在中所做的参考tableView:cellForRowAtIndexPath:或类似的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Swift 3:泛型中 TapGestureRecognizer 内的委托不会被调用 的相关文章

  • iOS:如何在不降低 fps 的情况下播放音频?

    我正在使用 Sprite Kit 最好使用 Swift 库 为 iOS 9 开发游戏 目前 我正在使用 Singleton 在其中预加载音频文件 每个文件都连接到一个单独的 AVAudioPlayer 实例 这是一个简短的代码片段来了解这个
  • 在视图控制器中获取 applicationDidFinishLaunching 调用。解析尚未初始化

    我正在尝试从 Parse 加载数据Initial View 控制器 问题是 Parse 在我的中初始化AppDelegate s didFinishLaunching所以我需要等到它被调用后再尝试从 Parse 加载数据 在我的视图控制器中
  • iOS - 如何在 swift 中使用 `NSMutableString`

    我已经看过这段 Objective C 代码 但我很难在 swift 中做同样的事情 NSMutableAttributedString res self richTextEditor attributedText mutableCopy
  • 如何制作带有 SWIFT 图像的弹出窗口

    我想知道如何制作类似于此示例的弹出窗口 原始窗口充满了按钮 选择这些按钮后将拉出我想要使用的图像 我会简单地创建一个可重用的UIView组件以及作为子视图所需的一切 例如UIImageView为了你的形象 UILabel or a UIBu
  • 有关 Swift 编译器选项的文档

    您好 我想开始在 Apple Swift 语言上运行一些微基准测试 然而 我觉得很难找到有关编译器优化的不同选项的适当文档 我读过很多关于其他人的语言微基准的问题和文章 但是如果能有一些关于该主题的可靠文档那就太好了 在最新的测试版中 使用
  • Swift,以编程方式更改 UICollectionViewCell 和 UILabel(单元格内)的宽度

    我已将单元格 UICollectionViewCell 的宽度设置为等于 UICollectionView 的宽度 并且我尝试对该单元格中包含的 UILabel 执行完全相同的操作 我认为下面的代码准确地解释了我想要实现的目标 所以我在这里
  • UItextView 背景颜色 Linespacing 区域太

    我正在尝试在 UITextView 中复制文本突出显示 不是搜索文本突出显示 但我也被行间距的颜色所困扰 我该如何纠正这个问题 现在的情况 期望的结果 我已将以下属性添加到我的 UiTextview 的属性文本中 对于段落行间距 我使用了以
  • 在 Swift 中从 Parse 加载图像

    我成功地将数据从 Parse 提取到 swift 中 但我的图像似乎没有按照我的方式工作 在我的 cellForRowAtIndexPath 方法中 我执行以下操作 var event AnyObject eventContainerArr
  • 从 scala 的 Type 获取 ParameterizedType?

    有用的是 scala 的 Universe typeOf 保留了类的类型参数 import scala reflect runtime universe case class X T TypeTag val t typeOf T e g S
  • iPhone 上的纵向 UISplitViewController 在 iOS 8 中始终显示主视图和细节视图

    UISplitViewController in portrait在 iPhone 上始终显示主控和细节iOS 8 我尝试子类化UISplitViewController并将其配置为同时显示主视图和细节视图 但没有任何效果 class AP
  • 在 SWIFT 中发送本地通知

    我将此代码添加到我的第一个 ViewController 中 Step 1 Ask permission from User let center UNUserNotificationCenter current center reques
  • 集合类型名称中的“1”是什么

    我想知道 1 在集合类型名称中意味着什么 例如 List 1 IList 1 有人知道那是什么吗 The backtick表示 泛型类型的名称以反引号 后跟数字结尾 表示泛型类型参数的数量 这样做的目的 名称重整是为了允许编译器支持泛型类型
  • 通用接口和实现 - 类型无法转换

    我有一个通用接口定义为 public interface ItemService
  • WKWebView 截图

    我正在尝试捕获网络视图向用户显示的图像 以便我可以对网页进行一些颜色分析 当我尝试从其父级获取图像时 即使页面已呈现 我基本上也会得到一个白框 func makeImageSnapshot gt NSImage let imgSize se
  • 将时间舍入到最接近的三十秒

    我有一个应用程序 它显示每 30 秒过期的数据 准确地说 在 h m s 11 30 00 11 30 30 11 31 00 等 我可以获得当前时间 但我不确定如何计算现在到最近的三十秒之间的时间 我发现的所有内容都是 Objective
  • 如何在 Swift 中使用函数数组

    我已经阅读了我可以在这里找到的所有关于函数数组的帖子 太棒了 你能做到 我估计 但没有一篇文章实际上展示了如何使用它们 至少不是我想要做的 这就是我想要的 它们都可以采用相同的参数 但这不是必需的 这篇文章很接近 将允许我循环执行每个函数
  • 在 for 循环中为元组赋值

    struct MIDIPacket 中有一个 UInt8 的元组 正常的赋值是这样的 import CoreMIDI let packet MIDIPacket packet data 0 0x02 packet data 1 0x5f 等
  • watchOS 2 上的最大内存使用量?

    我没有找到任何有关 watchOS 2 中应用程序可用内存使用的信息 我目前正在为 watchOS 开发一个应用程序 并且在手表端使用 Core Data 当我将 189 个对象中的 166 个加载到数组时 应用程序崩溃 此时的内存使用量为
  • 在 Swift 中计算两个 CLLocation 点之间的方位角 [重复]

    这个问题在这里已经有答案了 我正在尝试计算仅 swift 代码中两个 CLLocation 点之间的方位 我遇到了一些困难 并假设这是一个非常简单的函数 堆栈溢出似乎没有列出任何内容 func d2r degrees Double gt D
  • ArrayList 有什么问题?

    最近我问了一个关于 SO 的问题 其中提到了可能使用 c ArrayList 来解决问题 有人评论说使用数组列表不好 我想了解更多有关此的信息 我以前从未听说过关于数组列表的这种说法 有人可以带我了解使用数组列表可能出现的性能问题吗 C n

随机推荐

  • ARM中Q(饱和标志)的重要性

    我想了解 Q 标志在 ARM 处理器中的重要性 我知道有一些指令 如 QADD QSUB 等 但我需要通过一些例子来理解这一点 以澄清这个概念 ARM 架构参考手册 ARM DDI 0100E 对此进行了解释 位 27 的CPSR is a
  • 有效地重塑稀疏矩阵,Python,SciPy 0.12

    In 另一篇关于在 SciPy 中调整稀疏矩阵大小的文章当要添加更多行或列时 接受的答案有效 使用scipy sparse vstack or hstack 分别 在 SciPy 0 12 中reshape or set shape方法还没
  • Python 中的整数除法和带负操作数的模运算

    当我在 Python 3 3 0 中输入这些表达式时出现问题 10 3 4 10 3 2 10 3 4 10 3 2 10 3 3 看起来好像它采用近似浮点 3 33 并在整数除法中以任一方式向下舍入 但在模运算中它会执行完全不同的操作 看
  • set-cookie 在响应标头中设置,但未显示在“应用程序”->“Cookies”中

    The front end spa is hosted in netlify and backend in heroku And sending the cookies in response header as shown in the
  • 进程完成,退出代码为 139(被信号 11:SIGSEGV 中断)

    我正在尝试执行Python脚本 但我收到以下错误 Process finished with exit code 139 interrupted by signal 11 SIGSEGV 我在 Linux Mint 18 1 Serena
  • 重复消除相似的公司名称

    我有一张包含公司名称的表格 由于人为输入错误 存在许多重复项 对于是否应包含细分 拼写错误等存在不同的看法 我希望所有这些重复项都被标记为一个公司 1c company 1c 1c company 1c game studios 1c wi
  • 在 Python 中将字符串解释为其他数据类型

    我正在将一个文件读入 python 2 4 其结构如下 field1 7 field2 Hello world field3 6 2 这个想法是将其解析成一个字典 该字典需要fieldfoo作为键 冒号后面的任何内容作为值 我想将冒号后面的
  • 如何将 repr 转换为编码字符串[重复]

    这个问题在这里已经有答案了 我有这个str 来自我无法修复的文件 In 131 s Out 131 xce xb8Oph 这接近于 utf8 编码的字符串的表示 In 132 repr Oph encode utf8 Out 132 b x
  • Hangfire 在每台服务器上重复执行作业

    我遇到的情况是 我需要使用hangfire 注册的重复作业才能在集群中的每台服务器上运行 工作是在本地复制一些文件 因此需要定期在每台服务器上运行 到目前为止 我已经尝试使用服务器名称的 id 注册相同的作业 从而为 n 个服务器生成 n
  • JDBC:抱怨无效符号,但看起来不错

    我必须使用 JDBC 写入数据库 hibernate ibatis 不是一个选项 我的数据库是 Oracle 11g 我创建以下查询 insert into user user id username age creation ts val
  • std::put_time 格式

    我想了解如何工作 std put time 以及如何获取 YYYY MM DD HH MM SS 格式的日期戳 现在我写这样的东西 std chrono time point
  • 将对象转换为数组的 PHP 错误

    我之前有过这个问题 最后得出的结论是这是 5 2 5 中的一个错误 好吧 它在 5 2 6 中仍然有问题 至少对我来说 请告诉我它是否损坏或对您有用 obj new stdClass obj gt foo bar obj gt 0 zero
  • 在 Oracle SQL 中使用复杂 IF 语句

    您好 我正在尝试在 Band 属性中编写 If 语句 但没有成功 T T 我想做的是根据所有者类别 棚屋和供水属性设置单个角色 A B C D 任何帮助都会很棒 CREATE TABLE Rent Band Plot ID NUMBER 3
  • 从字符串列表中提取每个单词

    我正在使用Python 我的清单是 str Hello dude What is your name My name is Chetan 我想将字符串中每个句子中的每个单词分开并将其存储在new list中 new list 会像 new
  • 通过“this”与“prototype”分配函数有什么区别? [复制]

    这个问题在这里已经有答案了 可能的重复 在 Javascript 中使用 prototype 与 this 我对这两种向函数添加方法的类型感到困惑 让我用一个例子来解释一下 var foo function this bar functio
  • ConvertTo 函数中 Mat 的内存泄漏

    我在管理函数中的内存时遇到一些问题 Valgrid 说我在转换函数后出现内存泄漏 难道是因为数据没有正常发布 我尝试使用临时指针 但我的程序崩溃或无法正常工作 以前有人遇到过这个问题吗 this gt images push back ne
  • css“[class*=my-class].my-subclass”在做什么?

    我继承了一些 css 并且在网上到处搜索以了解 css 块所表达的内容 如下所示 class wrapper logo padding top 32px important 星号和方括号的作用是什么 在谷歌上搜索 和 很困难 如果这个问题很
  • Java Map 的递归迭代

    我正在编写一个递归函数 其目的是迭代 pList 文件 我的代码是 public static void HashMapper Map lhm1 throws ParseException Set set jsonObject keySet
  • 如何恢复隐藏的未提交的更改

    我的开发分支中有一些未提交的更改 我使用git stash 但在那些隐藏的变化中 有一些非常重要的变化 有什么办法可以恢复这些更改吗 另外 从那以后我对隐藏的代码文件进行了一些更改 如果可能的话 我是否有机会检索新分支中隐藏的更改 这个简单
  • Swift 3:泛型中 TapGestureRecognizer 内的委托不会被调用

    我有一个像这样的协议 public protocol SubmitAgeDelegate class func changeSubmitButtonBool 问题是我想在泛型类中调用它 open class GenericControlle