xcode 6 swift慢打字&自动完成

时间:2015-06-08 00:40:51

标签: xcode swift xcode6

我因打字而受苦自动完成需要花费太多时间,只有当swift文件的行代码超过1500+时才会出现此问题。使用小行代码,例如在1000行以下,一切都会很好。

所以我试图将swift View控制器文件分成2个快速文件,

我从视图控制器中获取了更长的功能并将它们粘贴到新的swift文件中,xcode 6正常工作。

但是出现了一个新问题,swift并不支持将swift文件导入另一个Swift文件。所以我在新创建的swift文件中创建了一个视图控制器的实例,所以我认为我保存了问题,但是视图控制器的实例只能访问变量,常量和函数,

检查错误

viewController.swift

viewController: UIViewController
{
  var someClass = foo() // assuming this class has x = 5
  var x: Int = 10
}

testFile.swift

 import Foundation
 let beginTest = viewController()
  func testPrint()
  {
    println("x in view Controller = \(beginTest.x)") // prints 10 
    println("x in the foo() = \(beginTest.someClass.x)") // Error view controller doesn't have a member named someClass

  }

如何在不创建实例或导入文件的情况下解决此问题。

如何通过创建视图控制器实例来解决此问题?

P.S。我有2013年中期Macbook Air,核心i5,4Gb,Intel HD Graphics 5000 1536MB

2 个答案:

答案 0 :(得分:0)

你应该在swift中使用'extension'来根据需要在逻辑上拆分你的类的实现。 Refer documentaion

例如,我们可以将A类的实现分成两个文件:

//A.Swift 

class A
{
    func func1() -> String {
        return "func1"
    }
//Other functions...


}

//A_Extension.swift

extension  A
{
    func funcB() -> String
    {
        return "B"
    }
 //Other functions if any...


}

答案 1 :(得分:0)

如果您启用了测试覆盖率数据收集(编辑方案,测试),请将其禁用。对我来说,这可以加快编辑速度。