【发布时间】:2015-08-22 08:57:01
【问题描述】:
我受打字和自动完成的困扰,它需要太多时间,只有当 swift 文件的行代码超过 1500 行时才会出现这个问题。使用小行代码,例如在 1000 行以下,一切都会好起来的。
所以我尝试将 swift View 控制器文件拆分为 2 个 swift 文件,
我已经从视图控制器中取出较长的函数并将它们粘贴到新的 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
}
如何在不创建实例或导入文件的情况下解决此问题。
或
如何通过创建视图控制器实例来解决这个问题?
附:我有 2013 年中期的 Macbook Air,核心 i5,4Gb,Intel HD Graphics 5000 1536MB
【问题讨论】:
-
为什么会有1500行的源代码文件?你不应该有这个......这是你的问题,而不是自动完成失败......
-
好吧,其他用户抱怨,因为 xcode 在达到 8000+ 行源代码时会受到影响,所以与视频游戏源代码相比,1500 行不算什么:)
-
源代码1500行或8000行没有错。问题是当所有这些源代码完全无缘无故地在同一个文件中时。您可能能够在单个文件中找到包含 8000 行源代码的游戏,但您找不到任何由知道自己在做什么的人编写的代码接近这么多源代码行。