Xcode yalnızca C ve Objective-C kodunu yeniden düzenleyebilir. Xcode 6'da swift sınıf adı nasıl yeniden adlandırılır?


103

Xcode 6 beta sürümünde yeni bir Tek Görünümlü Uygulama Projesi oluşturdum. Swift sınıfını ViewController.swiftbaşka bir adla yeniden adlandırmak istiyorum . Ancak Refactor -> Yeniden Adlandır'ı seçtiğimde hata veriyor Xcode can only refactor C and Objective-C code.

görüntü açıklamasını buraya girin

Xcode 6'da swift sınıfının nasıl yeniden adlandırılacağı hakkında bir fikriniz var mı?

GÜNCELLEME:

Son olarak Xcode 9, Swift için Yeniden Düzenlemeyi destekliyor. Apple'ın bu temel özelliği eklemesi 3 yıl sürdü. Yeniden düzenleme


9
Şu anda yok. Hata bildirin .
jtbandes

19
Bunun sorulmasından bir yıldan fazla bir süre sonra, tek cevap hala manuel bul ve değiştir! Apple'ın inanılmaz derecede gerisinde, bu bir IDE için temel ve önemli bir özellik
HughHughTeotl

1
AppCode bu yeniden düzenlemeyi gerçekleştirebilir. Bir .swiftdosyada tanımlanan sınıfınız için iki aşamalı bir süreç olacaktır . 1. Sınıf adını seçin ve Refactor> Rename işlemini gerçekleştirin . 2. .swiftDosyayı seçin ve Refactor> Rename işlemini gerçekleştirin .
Daniel Zhang

5
İki yıl sonra bile !!! UYGULANMADI???
Milad Faridnia

Yanıtlar:


25

Xcode6'nın sağ tarafındaki File Inspector'da bir sınıfın adını değiştirebilirsiniz.

  • sınıfını aç
  • Dosya Denetçisi> Tanımla ve yaz bölümüne git
  • "ad" alanındaki mevcut sınıfı yeniden adlandırın.

Bu kadar! Önceden, sınıf dosyasındaki sınıf adını manuel olarak yeniden adlandırıyordum.


11
Yanıtınız için teşekkürler, ancak yalnızca sınıf adını yalnızca dosya yapısında değiştirir. Yine de kodun her yerinde sınıf adımın tüm örneklerini değiştirmem gerekiyor. Halbuki Refactor-> Rename ... kullanmak, kodun yanı sıra dosya yapısındaki adı değiştirmek için kullanılır.
Khawar

Sorun değil! Apple bu sorunla ilgili bir şeyler yapana kadar bunun bir tür çözüm olduğunu düşündüm. Bul ve Değiştir işlevini o güne kadar kullanabilirsiniz. Refactor-> Rename'de yerleşik olan herhangi bir durum neredeyse aynı eylemleri gerçekleştirir.
2014

1
@Newone Aynı şeyi yapmaz. Örneğin, Bul ve Değiştir dizelerin içinde arama yapar ve Refactor-> Rename bunu yapmamalıdır.
Martin Epsz

15

Projede Bul> Bul ve Değiştir'i kullanıyorum , mükemmel değil ama işe yarıyor.


12

Bu şekilde kullanıyorum:

  • İmleci yeniden adlandırmak istediğiniz değişkenin üzerine konumlandırabilirsiniz.
  • Düzenleyiciyi Seç - Kapsamda Tümünü Düzenle (^ ⌘E)
  • Değişkeni yeniden adlandırın ve tüm değişkenler otomatik olarak düzenlenir

Bu yardımcı olur. Bunu bu kadar uzun süredir özlediğime şaşırdım !! :]
hdsenevi

1
Bu yalnızca kapsam dahilinde çalışır, yani IIRC dosyalarında çalışmaz.
Steve Moser

10

Bu öğreticiden.

İOS8 Swift Kodunuzu bölün

Öncelikle, View Controller'ımızı daha anlamlı olacak şekilde yeniden adlandıralım. ViewController.swift dosyanızı açın ve tüm 'ViewController' referanslarını yeni adımız olan 'SearchResultsViewController' ile değiştirin. Dosyayı da SearchResultsViewController.swift olarak yeniden adlandırın.

Uygulamayı buradan çalıştırmayı denerseniz bir çökme yaşarsınız. Bunun nedeni, film şeridi dosyamızın yeni sınıf hakkında bilgi sahibi olacak şekilde güncellenmemiş olmasıdır! Bu nedenle, Ana Hikaye Panosunu açın, sahnede (sol taraftaki gezinme) 'Denetleyiciyi Görüntüle' nesnenizi seçin ve ardından Kimlik Denetçisini (sağ taraf, üçüncü düğme) seçin.

Buradan sınıfı 'ViewController' den 'SearchResultsViewController' olarak değiştirelim. Şimdi yolumuza geri dönmeliyiz. Projenin hala çalışıp çalışmadığını kontrol edin ve devam edelim.


Cevap için teşekkürler. Bu yöntemi zaten denedim. Ama iyi bir yol gibi görünmüyor. ViewController.swift nesnelerini 10 sınıfta kullanıyorsam, bunları tüm sınıflarda manuel olarak yeniden adlandırmam gerekir. Çok acı verici ve zaman kaybı :(
Khawar

@ Khawar- Evet haklısın, ama şu anda başka bir seçenek olmayabilir ve ayrıca Swift beta sürümünde. bunun için endişelenme .. umarım elma daha kolay başka bir yol bulur (hedef c ???) :)
iPatel

1
Sürüm 7.2 (7C68) kullanıyorum ve yeniden adlandırma yeniden düzenleme hala mümkün değil
Barbara R.

7.3'te de mümkün değil.
ManiaChamp


2

Xcode 9

Xcode 9 artık Swift'de yeniden adlandırmayı destekliyor. Bu WWDC 2017'de duyuruldu.

görüntü açıklamasını buraya girin


Teşekkürler, teşekkürler Apple, ancak yeniden adlandırma hala çalışmıyor. Şimdi Xcode'u çökertiyor.
kisileno

Doğru ... Sürüm 9.0 beta'dan itibaren, yeniden adlandırma Xcode'un çökmesine neden oluyor. Ama gelecekte işe yaraması gereken şey bu, ne zaman olursa olsun :)
Guy Daher
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.