2016-08-14 104 views
1

“ViewController.swift”的10助手编辑器中显示的源代码与“ViewController.swift”的主编辑器中显示的源代码不同。辅助编辑器显示与主编辑器显示的不同的“ViewController.swift”文件吗?

“ViewController.swift” 在Main Editor

// 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()  
    } 
} 

“ViewController.swift” 在Assistant Editor

// 
// 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中工作时,我需要知道有时两个文件可以(通常是?)具有相同的名称?

回答

2

我有同样的问题。我无法弄清楚它为什么显示这个“内部类”文件。

我设法让它显示正确的关联文件。为此,请单击关联的编辑器图标,即两个圆圈。然后在出现的窗口中,点击'+'。出现的新窗口应该有正确的代码。然后关闭旧窗口,你应该留下正确的。该项目的其余部分似乎现在正在修复。

0

我在Xcode 9.2,Swift 4中发现了它,但它可能在其他版本中。

在Xcode中,通过将选项键关闭,将鼠标悬停在'func'或另一个范围描述关键字上以显示蓝色括号。

然后在触控板上双击手指以在代码中的相同位置自动打开助理编辑器。我经常去我的代码中的其他地方,但想要打开一个窗口,保持原来的位置。这个技巧就是这样。

enter image description here

(请确保您的跟踪垫被设置成一个“次要点击”是用两个手指敲击。)

相关问题