ฉันเริ่มเรียนรู้ Swift และติดตามการบรรยายวิดีโอของมหาวิทยาลัยสแตนฟอร์ดที่ดีมากบน YouTube นี่คือลิงค์หากคุณสนใจหรือช่วยได้ (แม้ว่าไม่จำเป็นต้องเข้าใจปัญหาของฉัน):
การพัฒนาแอพ iOS 8 ด้วย Swift - 2. Xcode และ Swift, MVC เพิ่มเติม
ในขณะที่ติดตามการบรรยายฉันถึงจุดที่ (เท่าที่ฉันจะบอกได้) รหัสของฉันเหมือนกับรหัสในวิดีโอ แต่ในระบบของฉันฉันได้รับข้อผิดพลาดของคอมไพเลอร์ หลังจากการลองผิดลองถูกจำนวนมากฉันได้จัดการลดรหัสของฉันให้เหลือสองตัวอย่างซึ่งหนึ่งในนั้นสร้างข้อผิดพลาดอื่น ๆ หรือที่ไม่ได้ แต่ฉันไม่รู้ว่าอะไรเป็นสาเหตุของข้อผิดพลาดหรือวิธีการแก้ไข
รหัสที่สร้างข้อผิดพลาดคือ:
import UIKit
class BugViewController: UIViewController
{
func perform(operation: (Double) -> Double) {
}
func perform(operation: (Double, Double) -> Double) {
}
}
สิ่งนี้สร้างข้อผิดพลาดคอมไพเลอร์ต่อไปนี้:
วิธีการ 'ดำเนินการ' กับตัวเลือก Objective-C 'ดำเนินการ:' ขัดแย้งกับการประกาศก่อนหน้านี้ด้วยตัวเลือกวัตถุประสงค์ -C เดียวกัน
โดยเพียงแค่การลบการจัดกลุ่มย่อยของ UIViewController รวบรวมรหัส:
import UIKit
class BugViewController
{
func perform(operation: (Double) -> Double) {
}
func perform(operation: (Double, Double) -> Double) {
}
}
ข้อมูลอื่น ๆ ที่อาจเกี่ยวข้องหรือไม่เกี่ยวข้อง:
- ฉันเพิ่งอัพเกรดเป็นโยเซมิตี
- เมื่อฉันติดตั้ง Xcode ฉันลงเอยด้วยรุ่นเบต้า (เวอร์ชัน 6.3 (6D543q)) เพราะ (ถ้าฉันจำได้ถูกต้อง) นี่เป็นรุ่นที่ฉันต้องใช้ในเวอร์ชั่น OS X ของฉัน
ฉันครึ่งหวังว่านี่เป็นข้อผิดพลาดในคอมไพเลอร์เพราะมิฉะนั้นสิ่งนี้ไม่สมเหตุสมผลสำหรับฉัน ความช่วยเหลือใด ๆ ที่ได้รับสุดซึ้งมาก!