Reputation: 9241
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
Upvotes: 104
Views: 23377
Reputation: 5601
Xcode 9 now supports renaming in Swift. This was announced in WWDC 2017.
Upvotes: 3
Reputation: 2541
I use this way:
Upvotes: 12
Reputation: 29645
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.
Upvotes: 2
Reputation: 942
I've been using Find>Find & Replace in Project, it's not perfect but it works.
Upvotes: 15
Reputation: 291
You can change name of a class in File Inspector at the right side of Xcode6.
That's all! Previously I manually rename the class name in the class file.
Upvotes: 25
Reputation: 47059
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.
Upvotes: 10