我因打字而受苦自动完成需要花费太多时间,只有当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
答案 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)
如果您启用了测试覆盖率数据收集(编辑方案,测试),请将其禁用。对我来说,这可以加快编辑速度。