特定の時点で、クラス User を他のクラスで使用したいときに見つからないことに気付きました。それについて疑わしいことは何もありません。ある時点で、コードを配置する場所を実験し始めました。
これらすべてのクラスを古いファイルの 1 つにまとめると、すべてがコンパイルされます。それらをすべて新しいファイルにまとめると、これらのクラスを使用するコードの他の部分がコンパイルされません。ファイルの名前を変更しても (たとえば、User.swift から AUser.Swift に) 何も変更されません。つまり、コンパイルされたものはコンパイルされ続け、コンパイルされなかったものは名前に基づいてコンパイルされません。それは本当にファイルの年齢かそのようなもののようです。
この特定のクラスのクラスターに関連して後で追加するものはすべて、新しいファイルにコンパイルされないように見えます。ビルド時にこれらのファイルが含まれていることを確認しました。私が思うコードについて奇妙なことは何もありません:
import UIKit
public class User: AddressBookContact {
var home: Home?
var friends = [Friend]()
}
public class Friend: AddressBookContact {
}
class Session: NSObject {
private static let instance = Session()
override private init() {
super.init()
}
class func sharedInstance() -> Session {
return instance
}
static var loggedInUser: User?
}