Xcode编译器或自动完成无法识别Swift类/协议

时间:2014-10-01 17:24:59

标签: ios xcode swift

在Swift Xcode项目中创建新文件时,例如:一个新类。它成功创建,但似乎无法在自动完成中使用或找到。例如:我创建了一个类FooBase,然后尝试创建一个继承自FooBase的第二个类 -

Class Foo:FooBase  

FooBase没有出现在自动完成中,并且编译器抛出了未知类型错误。

重现步骤: 1)文件 - >新文件 - >创建一个FooBase.swift 2)文件 - >新文件 - >创建一个Foo.swift 3)尝试并继承Foo中的FooBase。例如:Class Foo:FooBase

我创建的其他类都在自动完成列表中,可以选择,基本字符串/整数等等。

它使我疯了。它似乎相当随机地发生,大约80%的时间。我做了些蠢事吗?

3 个答案:

答案 0 :(得分:0)

阅读您列出的步骤,似乎您创建了一个快速文件FooBase,但将其留空。 FooBase.swift中是否有类声明?

.swift文件并不意味着您已经创建了一个类。 ;)

答案 1 :(得分:0)

这对我有用:

//FooBase.swift
import Foundation

class FooBase {
    var fooBar = 1
}

//Foo.swift
import Foundation

class Foo: FooBase {
    let foo = FooBase().fooBar

}

请注意,当我输入class Foo: FooBase时,代码完成没有弹出FooBase。但是一旦我完成它就会认出来。为了便于演示,您可以在同一个文件中删除这两个类。

答案 2 :(得分:0)

这似乎是OS X Yosemite Beta的一个问题。我随后在OS X Mavericks中尝试了它,但我没有得到这个问题。