Что значит '!' (восклицательный знак) рядом с именем файла в Xcode

Вопрос:

Мне интересно, что делает '!' (восклицательный знак), рядом с именем файла в Xcode. Я знаю, что он должен сказать вам, что файл "Отсутствует" , но я не смог найти ни одного онлайн-объяснения. И мне также нужен способ исправить это. Я могу редактировать код внутри так называемого файла "Отсутствует" . Когда я запускаю его в симулятор, все работает отлично, нет ошибки и даже предупреждения.

Технические данные:

Я запускаю Xcode 8 с Swift 3.

То, что я пробовал до сих пор:

  • Я попробовал повторное открытие Xcode → не работал
  • Я попытался решить его с помощью источника-контроля → ничего не произошло
  • Я искал его внутри моего корзины → без файла внутри корзины с тем же именем
  • Я проверил соединения все в порядке

Изображения:

1. Файл внутри моего редактора:

введите описание изображения здесь

2. Тренажер:

введите описание изображения здесь

код:

import Foundation
import UIKit

class Documentation: UIViewController {

    @IBOutlet weak var Basics: UIButton!
    let defaults = UserDefaults.standard

    override func viewDidLoad() {
        super.viewDidLoad()
        self.view.addGestureRecognizer(self.revealViewController().panGestureRecognizer())
        let menuButton = UIBarButtonItem(barButtonSystemItem: .organize, target: self.revealViewController(), action: #selector(SWRevealViewController.revealToggle(_:)))
        menuButton.tintColor = UIColor.white
        self.navigationItem.leftBarButtonItem = menuButton
        self.customizeButton(button: Basics, angle: 50, borderWidth: 2, borderColor: #colorLiteral(red: 0.0693108514, green: 0, blue: 0.2353696823, alpha: 1))

    }
    @IBAction func BasicsAction(_ sender: UIButton) {

    }

    func customizeButton(button: UIButton, angle: Int, borderWidth: Int, borderColor: UIColor){
        button.layer.cornerRadius = CGFloat(angle)
        button.layer.borderWidth = CGFloat(borderWidth)
        button.layer.borderColor = borderColor.cgColor
        let completionLabel = button.viewWithTag(1) as! UILabel!
        completionLabel?.text = "0/10"
        if defaults.value(forKey: "\(button.currentTitle)") != nil{
            let done = defaults.value(forKey: "\(button.currentTitle)") as! Int
            completionLabel?.text = "\(done)/10"
            if done == 10{
                button.layer.borderColor = #colorLiteral(red: 0.2193539292, green: 0.4209204912, blue: 0.1073316187, alpha: 1).cgColor
                button.layer.borderWidth = 5
            }
        }

    }
}

Любая помощь очень ценится, если она идет с хорошим объяснением!

Ответ 1

Поскольку "M" и "A" и "!" относятся к вашим репозиториям, я подозреваю, что этот файл живет на вашем локальном диске, но по какой-либо причине не найден там, где бы вы ни находились вы сохраняете свои файлы удаленно (GitHub, BitBucket, Subversion и т.д.).

1)

Если это была моя проблема, я сначала посмотрел бы на ваш удаленный репозиторий, чтобы убедиться, что файл существует.

2)

Затем я также посмотрел бы путь к локальному файлу. Конечно, вы можете открыть его из своего проекта/рабочей области, но, возможно, в другом месте/папке, чем во всех других исходных файлах.