Tôi rất mới để Swift và lập trình nói chung, một chút về Fortran 77 cách trở lại, và gần đây hơn một số lập trình đơn giản của vi điều khiển. Tôi đang làm việc thông qua những điều cơ bản và tất cả đã được tốt cho đến khi tôi đi qua một cái gì đó mà tôi chỉ có thể không hoàn toàn có được để hiểu thấu với - đại biểu. Tất cả các bài viết trực tuyến không hoàn toàn có được khái niệm trên, ít nhất là cho tôi, vì vậy để cho bản thân mình một cái gì đó mà tôi có thể tham khảo lại, tôi đã thiết lập một mẫu cơ bản được hiển thị bên dưới trong sân chơi. Nếu tôi chạy mã bên dưới nó hoạt động và in "Something done" cho terminal, nhưng nếu tôi làm giao thức là một giao thức "class", nghĩa là "protocol SomeDelegate: class {" và làm cho "var delegate" là "weak var delegate" như được đề xuất trong các bài đăng khác nhau, nó không hoạt động - tôi đang làm gì sai?Đại biểu nhanh chóng đơn giản trong sân chơi nhanh chóng
import UIKit
protocol SomeDelegate {
func DoSomething()
}
class MyViewcontroller: UIViewController, SomeDelegate {
func DoSomething() {
print("Something done")
}
}
class OtherClass {
var delegate: SomeDelegate?
func DoSomething() {
delegate?.DoSomething()
}
}
var myVar = OtherClass()
myVar.delegate = MyViewcontroller()
myVar.DoSomething()