ios - 索引处理文件 Xcode 超慢构建和运行

标签 ios swift xcode

我有以下方法,如果我评论它,在模拟器或普通 iPhone 上构建时没有延迟。 如果我使用此方法,它会延迟很多时间才能运行。

这是代码

func createFirstRowView() {
    let b = SKSpriteNode(imageNamed: "obj_bg_card1")
    b.xScale = 0.8
    b.yScale = 0.8
    r = SKShapeNode(rectOf: CGSize(width: b.size.width*4, height: b.size.height))

    r.position = CGPoint(x: frame.midX, y: frame.midY)
    //r.strokeColor = UIColor(red: 0, green: 0, blue: 0, alpha: 0)
    self.addChild(r)

    for i in 0..<4{
        let bg = SKSpriteNode(imageNamed: "obj_bg_card1")

        bg.xScale = 0.8
        bg.yScale = 0.8

        let lel = 0.5 + (Double(i)*1)

        bg.position = CGPoint(x: -bg.size.width*2 + bg.size.width*CGFloat(lel), y: 0)

        r.addChild(bg)

    }
    r.position = CGPoint(x: frame.midX, y: frame.midY*1.4)

    let q = SKSpriteNode(imageNamed: "obj_bg_card1")
    q.xScale = 0.8
    q.yScale = 0.8

    t = SKShapeNode(rectOf: CGSize(width: q.size.width*4, height: q.size.height))

    t.position = CGPoint(x: frame.midX, y: frame.midY)
    //t.strokeColor = UIColor(red: 0, green: 0, blue: 0, alpha: 0)

    self.addChild(t)

    for k in 0..<4{
        let bg = SKSpriteNode(imageNamed: "obj_bg_card1")

        bg.xScale = 0.8
        bg.yScale = 0.8

        let lel = 0.5 + (Double(k)*1)

        bg.position = CGPoint(x: -bg.size.width*2 + bg.size.width*CGFloat(lel), y: 0)

        t.addChild(bg)

    }
    t.position = CGPoint(x: frame.midX, y: frame.midY*0.6)
}

我读到这是由于代码效率低下造成的...任何人都可以发现我的错误吗?

最佳答案

我的建议是把这个方法分成几个,看看每个方法的编译时间,找出错误的地方

为此打开编译器的 debug-time-function-bodies 选项。在 Xcode 中的项目中,转到build设置并将其他 Swift 标志设置为 -Xfrontend -debug-time-function-bodies

然后使用 ⌘-8 跳转到 Build Report 导航器,您将在其中看到最新的构建(可能还有其他构建)。

enter image description here

接下来,右键单击您构建的目标的构建日志,然后选择“Expand All Transcripts”以显示详细的构建日志。

enter image description here

最后,您应该会看到一系列绿色框,每个框代表一个文件或编译过程中的一个步骤。这些框中的文本可能需要一些时间(或单击)才能正确加载。如果您正确设置构建标志以显示函数编译时间,您应该会在左侧看到一行构建时间。

enter image description here

取自here

关于ios - 索引处理文件 Xcode 超慢构建和运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41645102/

相关文章:

ios - 从 NSArray 中获取具有 CoreData 内容的字段

ios - 如何从富文本格式文件(如(.doc、.pages、.docx 等))中解析文本

objective-c - 单独类中的 UIAlertViewDelegate 会使应用程序崩溃

ios - iOS 11 中是否有指向 App Store 评论创建者的 URL?

ios - Xcode 继续构建在 Swift 3 之上

swift - 如何在给定 XCUITest 中的文本的情况下获取单元格的索引?

ios - Xcode UIBuilder - 在垂直中心上方放置一个按钮 X 像素

ios - OpenGL ES 2.0-纹理四边形

ios - ios UILabel setFrame错误

ios - PFRelation addObject 不添加关系