Xcode can only refactor C and Objective-C code. How to rename swift class name in Xcode 6?

给你一囗甜甜゛ 提交于 2019-11-28 20:41:31

问题


I have created a new Single View Application Project in Xcode 6 beta version. I want to rename swift class from ViewController.swift to some other name. But when I select Refactor -> Rename, it gives error Xcode can only refactor C and Objective-C code.

Any idea how to rename swift class in Xcode 6?

UPDATE:

Finally Xcode 9 is supporting Refactoring for Swift. It took Apple 3 years to add this basic feature. Refactoring


回答1:


You can change name of a class in File Inspector at the right side of Xcode6.

  • open your class
  • go to File Inspector > Identify and type section
  • rename existing class in "name" field.

That's all! Previously I manually rename the class name in the class file.




回答2:


I've been using Find>Find & Replace in Project, it's not perfect but it works.




回答3:


I use this way:

  • You can positioning the cursor on the variable that you want rename
  • Select Editor - Edit all in Scope (^⌘E)
  • Rename the variable and automatically all variable occurrences is edit



回答4:


From this tutorial.

Split up your iOS8 Swift Code

First things first, let’s rename our View Controller to be something more meaningful. Open up your ViewController.swift file and replace all references to ‘ViewController’ with our new name, ‘SearchResultsViewController’. Rename the file as well to SearchResultsViewController.swift.

If you try to run the app from here you’ll get a crash. This is because our storyboard file hasn’t been updated to know about the new class! So open up the Main.storyboard, select your ‘View Controller’ object in the scene (the left-hand side nav), and then select the Identity Inspector (right-hand side, third button.)

From here let’s change the class from ‘ViewController’ to ‘SearchResultsViewController’. Now we should be back on track. Check that the project still works, and let’s proceed.




回答5:


Unfortunately, Apple hasn't gotten around to implementing it yet.

See http://www.quora.com/Why-isnt-there-a-refactoring-feature-for-Swift-language-in-Xcode-6 for more information.




回答6:


Xcode 9

Xcode 9 now supports renaming in Swift. This was announced in WWDC 2017.



来源:https://stackoverflow.com/questions/24133664/xcode-can-only-refactor-c-and-objective-c-code-how-to-rename-swift-class-name-i

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!