小编Jor*_*416的帖子

Swift 中从 Core Data 异步加载图像

我正在构建一个使用核心数据数据库来存储产品数据的应用程序。这些产品显示在UICollectionView. 此集合视图中的每个单元格都显示其包含的产品的基本信息,包括图像。

尽管单元相对较小,但它们显示的原始图像优选地相当大,因为它们还应该能够在更大的图像视图中显示。在我的方法中,图像是直接从核心数据加载的CellForItemAtIndexPath:

func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
        let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "Cell", for: indexPath) as! CollectionWineCell

        var current: Product!

        //product details are set on labels

        //image is set
        if current.value(forKey: "image") != nil {
            let image = current.value(forKey: "image") as! WineImage
            let loadedImage = UIImage(data: image.image)
            cell.imageview.image = loadedImage
        } else {
            cell.imageview.image = UIImage(named: "ProductPlaceholder.png")
        }

        return cell
    }
Run Code Online (Sandbox Code Playgroud)

当产品集合增加时,滚动会变得更加颠簸,并且许多帧会丢失。这对我来说很有意义,但到目前为止我还没有找到合适的解决方案。在线查看时,有很多文档和框架可用于从 URL(在线或文件路径)异步加载图像,但从 Core Data 执行此操作似乎并不常见。

我已经尝试过使用异步获取请求来做到这一点:

let fetchRequest = NSFetchRequest<NSFetchRequestResult>(entityName:"ProductImage") …
Run Code Online (Sandbox Code Playgroud)

iphone asynchronous core-data ios uicollectionview

2
推荐指数
1
解决办法
1041
查看次数

使用 XcodeGen 进行自定义配置

我正在尝试使用XcodeGen自动执行设置新应用程序的过程。如何使用 YML 文件实现自定义项目配置(如屏幕截图中所示)?

在此输入图像描述

我希望能够像文档中所说的那样做到这一点:

name: Test1
settings:
  configs:
    Alpha: alpha-com.company.Test1
    Beta: beta-com.company.Test1
    Debug: debug-com.company.Test1
    Release: com.company.Test1
options:
  bundleIdPrefix: com.company
targets:
  Test1:
    type: application
    platform: iOS
    sources: Test1
  Test1Tests:
    type: bundle.unit-test
    platform: iOS
    schemetestTargets: Test1Tests
    sources: Test1Tests
Run Code Online (Sandbox Code Playgroud)

但这行不通。我尝试了几个选项,例如删除其上方的设置级别,将其放置在带有和不带配置级别的目标设置中。任何帮助将非常感激

xcode automation xcodegen

2
推荐指数
1
解决办法
2613
查看次数

UITableView reloadData()被触发但延迟

我遇到了这种奇怪的行为UITableView.

我在我的应用程序中从CloudKit获取一些记录.我已经设置了一个专门的子类NSObject来处理所有这些,并且只要它接收到一条记录,它就会将记录添加到我的模型数组中,然后告诉它的委托它收到了一些东西.代表然后重新加载tableView.

func cloudKitFetchedRecord(identifier: NSString) {
    if identifier.isEqualToString("getAllProfiles") {
        self.tableView.reloadData()
    }
}
Run Code Online (Sandbox Code Playgroud)

这一切都有效.除了我打电话之后reloadData,暂时没有任何事情发生.该表实际重新加载大约需要10-20秒.奇怪的是,当我点击屏幕时它也会重新加载,但是当我点火时reloadData没有任何反应.

我已经检查了我的整个应用程序,在任何地方放入了断点,但应用程序在延迟重新加载时没有做任何事情.我还清理了项目,清理了构建文件夹,几乎完成了我能想到的所有事情,但它一直在做这个.

有没有其他人遇到这种行为,或者有人知道如何解决它?

任何评论都将受到高度赞赏

uitableview reloaddata ios swift

1
推荐指数
1
解决办法
640
查看次数

在 Swift 中生成图像

这似乎是一个很简单的问题,但我在网上找到的关于该主题的文档很少:

如何使用 Swift 生成图像?

更具体地说,我有一个应用程序可以跟踪现实生活游戏的分数,并保存这些分数。我希望我的用户能够按需生成记分板,并将其导出为图像,例如在 Facebook 上分享。大多数关于 UIImage 编程的教程似乎都是关于改变图像(如应用过滤器等),但这是另一种编程。

我认为在这里使用 HTML/CSS 生成记分板是个好主意,因为可以用它生成表格和概述,然后尝试将其导出为 pdf/位图/png,但我不确定这是否正确解决方案。

如何生成我的记分牌?

rendering image ios swift

1
推荐指数
1
解决办法
1940
查看次数

React Native:透明视图后面的按钮

出于布局目的,我在 React Native 应用程序中的视图顶部渲染了多个图像。这些图像位于屏幕的顶部、左侧和右侧边框。它们包含在View具有透明背景的组件中。

这意味着屏幕的所有内容都将位于该View组件之后。我的问题是我现在无法触摸我的任何实际内容,因为它被透明覆盖View

问题:如何在 React-Native 中触摸透明视图后面的组件?

我不能成为第一个处理这个问题的人,但它似乎在线记录很差

transparency user-experience button react-native

1
推荐指数
1
解决办法
2847
查看次数