“ViewController.swift”的 Assistant Editor 中显示的源代码与“ViewController.swift”的 Main Editor 中显示的源代码不同。
Main Editor
中的“ViewController.swift”:
// ViewController.swift
// FoodTracker
import UIKit
class ViewController: UIViewController, UITextFieldDelegate {
// MARK: Properties
@IBOutlet weak var nameTextField: UITextField!
@IBOutlet weak var mealNameLabel: UILabel!
@IBOutlet weak var mainButton: UIButton!
override func viewDidLoad() {
super.viewDidLoad()
nameTextField.delegate = self
}
// MARK: UITextFieldDelegate
func textFieldShouldReturn(textField: UITextField) -> Bool {
textField.resignFirstResponder()
return true
}
func textFieldDidEndEditing(textField: UITextField) {
mealNameLabel.text = textField.text
}
// MARK: Actions
@IBAction func setDefaultLabelText(sender: UIButton) {
mealNameLabel.text = "DEFAULT text"
// mainButton.tintColor = UIColor.darkTextColor()
}
}
Assistant Editor
中的“ViewController.swift”:
//
// ViewController.swift
// FoodTracker
import UIKit
internal class ViewController : UIViewController, UITextFieldDelegate {
@IBOutlet weak internal var nameTextField: UITextField!
@IBOutlet weak internal var mealNameLabel: UILabel!
@IBOutlet weak var mainButton: UIButton!
override internal func viewDidLoad()
internal func textFieldShouldReturn(textField: UITextField) -> <<error type>>
internal func textFieldDidEndEditing(textField: UITextField) -> <<error type>>
@IBAction internal func setDefaultLabelText(sender: UIButton) -> <<error type>>
}
因此,这些是完全不同的不同文件,但具有相同的名称。 Assistant Editor
中的那个是接口,而Main Editor
中显示的文件是接口的实现,对吗?
这看起来有点奇怪,但界面和实现类有相同的名称?当我在Xcode工作时,我需要知道有时两个文件(通常是?)具有相同的名称?
答案 0 :(得分:4)
我遇到了同样的问题。我无法弄清楚为什么会出现这个&#34;内部课程&#34;文件。
我设法让它显示正确的关联文件。为此,请单击关联的编辑器图标,即两个圆圈。然后在显示的窗口中,点击&#39; +&#39;。出现的新窗口应该包含正确的代码。然后关闭旧窗口,你应该留下正确的窗口。该项目的其余部分似乎现在可以修复。
答案 1 :(得分:1)
(Swift 4.2)我也遇到了同样的问题。每当我在助理编辑器中时,我的ViewController都被标记为“内部”,并且无法对其进行任何编辑。上面的解决方案对我不起作用,但是它们使我走上了正确的道路。显然,我在某种形式的重复文件中,而不在所需的ViewController中。要解决此问题,只需通过助手编辑器顶部的控件导航到正确的文件即可。
答案 2 :(得分:0)
我在Xcode 9.2,Swift 4中找到了这个,但它可能在其他版本中。
在Xcode中,选项键按下,将鼠标悬停在&#39; func&#39;或另一个描述范围的关键字,用蓝色括号显示范围。
然后在触控板上点击两个手指,在代码中的同一点自动打开一个助手编辑器。我经常去我的代码中的其他地方,但想要打开一个窗口,保持原样。这个技巧就是这样。
(确保您的触控板设置为“辅助点按”是用两根手指敲击。)
答案 3 :(得分:0)