Swift 3 迁移后 UICollectionView 损坏了?

2024-01-11

在我的项目中使用 Swift 3 转换器后,加载 UICollectionViewController 的子类时我不断崩溃。下面是我的代码以及集合视图的相关方法。

override func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {  
  return photos.count  
}  

override func collectionView(_ collectionView: UICollectionView, c`enter code here`ellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: tileReuseIdentifier, for: indexPath) as! TileCollectionViewCell  
cell.captionLabel.text = photos[(indexPath as NSIndexPath).item].caption
cell.captionLabel.adjustsFontSizeToFitWidth = true
cell.imageView.image = photos[(indexPath as NSIndexPath).item].image
cell.layer.cornerRadius = 10
cell.layer.shadowPath = UIBezierPath(roundedRect: cell.frame, cornerRadius: cell.layer.cornerRadius).cgPath  
return cell
}  

func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAtIndexPath indexPath: IndexPath) -> CGSize {
return CGSize(width: cellSize, height: cellSize)
}  

func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumInteritemSpacingForSectionAtIndex indexPath: IndexPath) -> CGFloat {
return spacing
}  

override func collectionView(_ collectionView: UICollectionView, viewForSupplementaryElementOfKind kind: String, at indexPath: IndexPath) -> UICollectionReusableView {
let reusableView = collectionView.dequeueReusableSupplementaryView(ofKind: kind, withReuseIdentifier: headerReuseIdentifier, for: indexPath) as! HeaderCollectionReusableView  

reusableView.setupView()  

return reusableView  
}  

func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, referenceSizeForHeaderInSection section: Int) -> CGSize {
return CGSize(width: collectionView.frame.width, height: cellSize-20)
}  

func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, insetForSectionAtIndex section: Int) -> UIEdgeInsets {
return UIEdgeInsetsMake(topMargin, spacing, bottomMargin, spacing)
}

这是崩溃时的堆栈跟踪:

libswiftFoundation.dylib`static Foundation.IndexPath._unconditionallyBridgeFromObjectiveC (Swift.Optional<__ObjC.NSIndexPath>) -> Foundation.IndexPath:
    0x100a549e0 <+0>:  stp    x20, x19, [sp, #-32]!
    0x100a549e4 <+4>:  stp    x29, x30, [sp, #16]
    0x100a549e8 <+8>:  add    x29, sp, #16              ; =16 
    0x100a549ec <+12>: mov    x19, x0
    0x100a549f0 <+16>: cbz    x19, 0x100a54a18          ; <+56>
    0x100a549f4 <+20>: mov    x0, x19
    0x100a549f8 <+24>: bl     0x100a7cfd4               ; function signature specialization <Arg[0] = Owned To Guaranteed, Arg[1] = Dead> of Foundation.IndexPath.init (nsIndexPath : __ObjC.NSIndexPath) -> Foundation.IndexPath
    0x100a549fc <+28>: mov    x20, x0
    0x100a54a00 <+32>: mov    x0, x19
    0x100a54a04 <+36>: bl     0x100abcfe4               ; symbol stub for: objc_release
    0x100a54a08 <+40>: mov    x0, x20
    0x100a54a0c <+44>: ldp    x29, x30, [sp, #16]
    0x100a54a10 <+48>: ldp    x20, x19, [sp], #32
    0x100a54a14 <+52>: ret    
->  0x100a54a18 <+56>: brk    #0x1

一些搜索让我发现https://bugs.swift.org/browse/SR-2103 https://bugs.swift.org/browse/SR-2103 and https://bugs.swift.org/browse/SR-2417 https://bugs.swift.org/browse/SR-2417

奇怪的是,当我在上述方法的开头设置断点时,应用程序在到达任何断点之前崩溃。viewDidLoad执行并返回。然后应用程序崩溃并出现上述错误。

有人可以帮忙吗?


None

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

Swift 3 迁移后 UICollectionView 损坏了? 的相关文章

  • iOS 上 Safari 中的 shift 键

    有没有办法在javascript中判断手机键盘上是否按下了shift键 并将其与大写锁定 按两次shift键 区分开来 一些事实 首先 让我们看一下有关 iOS 键盘的一些事实 我假设您已经知道了 当您进入键盘模式时 shift键始终处于激
  • Flutter-iOS 当应用程序更新/重新编译时存储的图像丢失

    嗨 请原谅我的英语 也是 flutter iOS 的新手 我在 iOS 上有一个关于 flutter 的应用程序 用户可以从他们的相机和图库中拍摄照片和视频 我正在使用 image picker 包 这没有问题 然后我将其保存在在其应用程序
  • 在 Pages 文稿中打开文本—Swift

    在我的 Swift 2 应用程序中 用户通过文本字段创建一串文本 然后将其共享给另一个应用程序 现在 我只能将文本共享为 txt 文件 这不提供选项Open In Pages当我打开系统共享对话框时 如何才能让用户可以选择将输入的文本作为
  • Swift try inside Objective-C 块

    我需要创建一个函数foo它接受一个抛出闭包作为参数 我可以使用 Swift 或 ObjC 来实现它 但我需要能够从两者中调用它 像这样 Swift func bar throws func foo block throws gt void
  • 如何将 .ipa 转换为 .app 文件?

    每个人 我有一些 ipa 文件 想要转换为包含 app 包的存档文件 我试图这样做 但我没有办法 有什么办法可以做到这一点吗 请帮我 将 ipa 重命名为 zip 然后提取即可
  • 如何从 Xcode 4.5 卸载 iOS 5.0 模拟器

    我已经安装了 Xcode 4 5 由于我编写应用程序是为了好玩 我不打算支持旧版 iOS 版本 并且为了节省 500 GB iMac 上的空间 是否有办法删除它 尝试从 Xcode 包中支持的平台中删除 iPhone iPhoneSimul
  • 如何本地化 iOS 故事板

    我有一个包含一些视图的 iPhone 故事板 例如 导航项标题名为News 应翻译为其他语言 当我向故事板添加新的本地化版本时 它会为新语言创建当前故事板的副本 在这里我可以更改导航项的标题 但对我来说它似乎不太有用 如果我的故事板包含 1
  • Swift 语言中的 #ifdef 替换

    在 C C Objective C 中 您可以使用编译器预处理器定义宏 此外 您可以使用编译器预处理器包含 排除代码的某些部分 ifdef DEBUG Debug only code endif Swift 中有类似的解决方案吗 是的 你可
  • 如何将 NSMutableArray 添加到 NSMutableArray Objective-c

    我正在从 Java 切换到 Objective c 但遇到了一些困难 我已经搜索过这个问题但没有取得太大成功 我有一个存储 NSMutableArrays 的 NSMutableArray 如何向数组添加数组 您可以在数组中存储对另一个数组
  • Swift:Tableview 在导航栏下方滚动但在状态栏上方滚动?

    我使用以下技巧隐藏了导航栏的阴影 self navigationController navigationBar setBackgroundImage UIImage for default self navigationControlle
  • 与 parse-server 和 auth0 的自定义身份验证集成

    我想将 auth0 com 与开源解析服务器结合使用 我当前的方法是通过 iOS 的 Lock 库使用标准登录从 auth0 获取令牌 使用该令牌 我想在解析服务器上调用自定义身份验证方法 该方法检查令牌是否有效 如果有效则将登录用户 我的
  • iOS 上关键 ClientState 警告的默认访问速度缓慢

    在测试我的 iOS 应用程序时 我收到 对关键 ClientState 的默认访问速度慢 耗时 0 034635 秒 容差为 0 020000 警告 它似乎是间歇性发生的 我试图环顾四周看看它是关于什么的 但我并不完全确定 任何帮助表示赞赏
  • 在 macOS 上使用 Swift 3 从剪贴板读取

    我是 Swift 的初学者 我想弄清楚如何在 macOS Swift 3 上读取已复制到剪贴板的内容 我搜索了很多 但似乎找不到任何有效的东西 我从网上尝试过的一些事情 var pasteboardItems NSPasteboardIte
  • 在 Xcode 中查找未使用的文件

    我最近开始开发一个新应用程序 它基本上是我以前制作的应用程序的副本 但做了一些更改 为了制作这个新应用程序 我复制了旧应用程序并删除了一些不需要的内容 我想知道 有没有办法知道 Xcode 中正在使用哪些类文件 或者有什么关于如何查找未使用
  • gestureRecognizer shouldReceiveTouch 持续存在于已释放的视图中导致崩溃

    我有一个相当简单的 UITableView 它在堆栈上推送一个新视图 新视图有一个像这样初始化的gestureRecognizer synthesize swipeGestureLeft void viewDidLoad swipeGest
  • 依赖于不同队列上的另一个操作的 NSOperation 无法启动

    我有操作的依赖图 并且使用多个队列来组织各种操作流 例如 peopleQueue sitesQueue sessionQueue sessionQueue loginOp fetchUpdatedAccountOp peopleQueue
  • iOS绘图3D图形库[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我正在搜索一个可以帮助我绘制 3D 图表的库 我想要类似的东西这一页 http www math uri edu bkaskosz fla
  • Swift PageControl 当前页面上更大的点

    我试图将当前页面的点缩放为大于未 选择 的点 我正在使用滚动视图委托来确定哪个页面是当前的 目前 点的大小没有变化 我将如何实现这一目标 func scrollViewDidEndDecelerating scrollView UIScro
  • iOS 有 INTERNET 权限吗?

    我在 iOS 设备上的 flutter dio 包上遇到了一个奇怪的问题 我编写了一个向 url 发送 GET 请求的应用程序 Android 上一切正常 但 iOS 上的请求似乎无法通过 没有发生任何错误 什么也没有 我在 Android
  • 使用 PDFOutline 将 TOC 添加到 Swift/Cocoa 中的 PDFDocument

    我正在开发一个小程序 将多个单页 PDF 合并到一个多页 PDF 中 我正在 Swift4 MacOS Cocoa 中工作 但我一生都无法在 Swift 中找到任何类型的示例来创建大纲 仅遍历现有的大纲 我对此非常熟悉 使用对文档的最佳猜测

随机推荐

  • 首先代码自定义SQL迁移超时异常

    我正在尝试通过执行自定义 Sql 使用实体框架迁移创建全文索引 我的迁移类如下所示 public partial class DocumentContentFullTextIndex DbMigration public override
  • Django 在 BooleanField 上进行注释

    我有以下型号 class Foo models Model pass class Bar models Model foo models ForeignKey Foo is successful models BooleanField 我想
  • Chrome / Firefox 中的 Javascript 内存使用和调试(雷区)

    我目前正在使用 Google O3D WebGL 框架开发一个应用程序 这是我第一次如此密集地使用 JavaScript 这些功能只完成了 20 左右 但应用程序本身已经开始占用大约 160 meg 内存 同时让应用程序运行 在 Chrom
  • 指向数组第一个元素的指针的地址?

    我对指向数组开头的指针在内存中的位置有点困惑 根据我的理解 数组和指针可以使用相同的函数 如 和 因此 如果我创建一个 char 数组 我会理解 buffer buffer 0 所以不带括号的数组名就像一个指针 其中包含数组第一个条目的地址
  • PHP Ratchet:找不到类 Memcache

    我正在关注 Ratchet 的教程 对于SessionProvider页面 代码是这样的
  • Meteor 如何使用多个 .less 文件

    我正在尝试在 Meteor 应用程序中使用两个 less 文件 所有文件都位于单个 Meteor 应用程序文件夹中 我有一个 less 文件 它定义了一般 UI 外观 在 ui less 中 ui gradient topdown from
  • XAMPP - 错误:MySQL 意外关闭

    由于某种原因 我重新安装了 XAMPP 但 MySQL 无法工作 在控制台中出现以下错误 01 56 03 mysql Error MySQL shutdown unexpectedly 01 56 03 mysql This may be
  • 通过 powershell 在 jenkins 中使用 AnsiColor

    关于如何使用 powershell 为 Jenkins 上的输出着色有什么想法吗 我已经在 J enkins 上安装了 AnsiColor 插件 并且已将作业设置为使用 AnsiColor 唯一的问题是如何让我的powershell在Jen
  • 通过 StoredProcedure 每日/每周/每月记录计数搜索

    Using 微软SQL服务器 我做了一个名为SP Get CallsLogged 我有一个名为TRN Call 它有一个名为CallTime这是一个日期时间 我的应用程序中有一个网页 用户在其中输入 开始日期 约会时间 EndDate 约会
  • java 使用线程下载多个文件

    我正在尝试使用线程下载与模式匹配的多个文件 该模式可以匹配 1 5 或 10 个不同大小的文件 为了简单起见 下载文件的实际代码位于 downloadFile 方法中 而 fileNames 是与模式匹配的文件名列表 我如何使用线程来做到这
  • Windows Phone 7 - 加载一个大的 xml 文件

    我正在尝试将 xml 文件加载到我的应用程序中并将其显示在列表框中 问题是该xml文件大约有5MB 在手机上加载大约需要40秒 当手机锁定屏幕并返回时 又需要 40 秒 我尝试使用isolatedstorage来存储数据 但它并没有提高性能
  • 为什么我的静态目录无法与 django 1.3 一起使用?

    这个问题很简单 但我就是想不出来 添加到我的 urlpatterns url r static P
  • 公开 Firebase 存储,以便在 Android 上读写

    我是 firebase 存储的新手 谁能告诉我如何使存储文件公开以供读写 firebase 提供的默认代码如下 我应该做出哪些改变 service firebase storage match b image view b1cf5 apps
  • iOS 8 AutoLayout 滚动视图在 iPhone 6 plus 上水平滚动

    我确实有一个 iOS 应用程序 在调整所有 UI 以自动布局和尺寸类别以支持新的 iPhone 6 和 iPhone 6 plus 时 我遇到了一个奇怪的问题 我的滚动视图在 iPhone 4s 5 5s 中工作正常和 6 在 iPhone
  • Discord 丰富的嵌入按钮

    我制作了一些discord py 机器人 但我遇到了一个令人惊讶的机器人 它被称为 IdleRPG 并使用带有按钮的丰富嵌入消息 这是一张图片 注意菜单底部的按钮 我尝试联系开发商并一直在网上搜索 但似乎找不到他们是如何做到的 有谁知道有关
  • 如何在 bash 中优雅地存储和回显多行? [复制]

    这个问题在这里已经有答案了 我试图将一段文本捕获到一个变量中 并保留换行符 然后回显它 然而 当我捕获文本或显示文本时 换行符似乎没有被维护 关于我如何实现这一目标有什么想法吗 Example bin bash read d my var
  • 即使我注销了,如何才能在后台继续运行unix程序?

    我想在 unix 机器上在后台运行一个带有 while 1 循环的 Perl 脚本 直到我杀死它 这是一台我没有管理权限的远程计算机 因此由于某种原因 我无法使用 Daemon Generic While1 我通过 SSH 登录到它 并且我
  • TypeDoc 抱怨“找不到模块”

    我有一个基于 Typsecript 的反应应用程序 它工作得很好 但我想添加 TypeDoc 想想 Typescript 的 JSDoc 安装后 我从命令行运行它 在测试时仅处理单个文件 typedoc module commonjs js
  • 汇编反转字符串

    读取字符串直到按下 1 并且 1 将位于字符串的最后一个位置 我不知道为什么我的输出关闭 例如输入是 asd1 输出是 1111 无论如何 这是我的代码 data segment msg db 0dh 0ah Your string rev
  • Swift 3 迁移后 UICollectionView 损坏了?

    在我的项目中使用 Swift 3 转换器后 加载 UICollectionViewController 的子类时我不断崩溃 下面是我的代码以及集合视图的相关方法 override func collectionView collection