2015-08-18 3 views
0

Я заметил, что в данный момент класс User не мог быть найден, когда я хотел использовать его в других классах. Ничего подозрительного в этом не было. В данный момент я начал экспериментировать с тем, в каком месте я поставил код.Swift 2.0/Xcode 7B5 - Классы могут быть найдены только в том случае, если они помещены в определенный файл.

Если я поместил все эти классы в один из моих старых файлов, все компиляции. Если я поместил их все вместе в более новый файл, остальные части моего кода, использующие эти классы, не будут компилироваться. Если я переименую файл (например, с 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? 
} 
+0

«Не компилируется» не имеет смысла. Покажите код, что ошибки и скажите, какую ошибку вы получаете! – matt

+0

Также почему ваши классы 'public'? Вы используете модули/рамки здесь? Это, безусловно, может быть источником проблемы! - И покажите определение AddressBookContact, пожалуйста. – matt

ответ

1

Посмотрите в файле панели Inspector Utility (правая панель). Вероятно, этот файл не входит в цель.

+0

Принимается с тех пор, как вы поставили меня в правильном направлении, пожалуйста, измените свой ответ, чтобы отразить истинное решение. Случилось так, что есть проект и проект ProjectTest, и некоторые из классов, которые ссылались на Friend, были включены в тест (без использования класса Friend сами по себе в тестах). Но ошибка не появилась в тестовом проекте, а в основном проекте, который полностью помешал мне на ногу. Мне нужно было добавить файл Friend.swift в тестовый проект, чтобы он скомпилировался для всего проекта. –