Saya mulai belajar Swift, dan telah mengikuti ceramah video Stanford University yang sangat bagus di YouTube. Berikut ini tautan jika Anda tertarik atau itu membantu (walaupun tidak diperlukan untuk memahami masalah saya):
Mengembangkan Aplikasi iOS 8 dengan Swift - 2. Lebih banyak Xcode dan Swift, MVC
Sambil mengikuti kuliah saya sampai pada titik di mana (sejauh yang saya tahu) kode saya identik dengan kode dalam video tetapi pada sistem saya, saya mendapat kesalahan kompiler. Setelah banyak percobaan dan kesalahan saya berhasil mengurangi kode saya menjadi dua contoh, satu di antaranya menghasilkan kesalahan, yang lain atau yang tidak, tetapi saya tidak tahu apa yang sebenarnya menyebabkan kesalahan atau bagaimana menyelesaikannya.
Kode yang menyebabkan kesalahan adalah:
import UIKit
class BugViewController: UIViewController
{
func perform(operation: (Double) -> Double) {
}
func perform(operation: (Double, Double) -> Double) {
}
}
Ini menciptakan kesalahan kompilator berikut:
Metode 'perform' dengan pemilih Objective-C konflik 'perform:' dengan deklarasi sebelumnya dengan pemilih Objective-C yang sama
Dengan hanya menghapus sub-classing dari UIViewController kompilasi kode:
import UIKit
class BugViewController
{
func perform(operation: (Double) -> Double) {
}
func perform(operation: (Double, Double) -> Double) {
}
}
Beberapa informasi lain yang mungkin relevan atau tidak relevan:
- Saya baru saja ditingkatkan ke Yosemite.
- Ketika saya menginstal Xcode, saya berakhir dengan versi Beta (Versi 6.3 (6D543q)) karena (jika saya ingat dengan benar) ini adalah versi yang saya perlukan untuk berjalan di versi OS X.
Saya setengah berharap ini adalah bug di kompiler karena kalau tidak, ini tidak masuk akal bagi saya. Bantuan apa pun dengan penuh terima kasih diterima!