Tìm cách sử dụng các tiện ích mở rộng Swift trong một tệp riêng biệt hoặc một giải pháp thay thế. Tạo tiện ích mở rộng chỉ hoạt động miễn là tiện ích mở rộng được viết trong cùng một tệp mà tiện ích đang được sử dụng.Sử dụng các tiện ích mở rộng trong tệp .swift riêng biệt
Đây là ví dụ về ViewController.swift hoạt động.
import UIKit
var TestHelper: String = "Start Value"
extension UIView {
var testValue:String{
set{
TestHelper = newValue
}
get{
return TestHelper
}
}
}
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
self.view.testValue = "Some Value"
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
}
Lấy mở rộng ra của tập tin này và đặt trong một kết quả tập tin mới trong một tai nạn đưa ra lỗi này:
Program ended with exit code: 9
Lỗi này được nói rằng nó không tồn tại Tôi nghĩ. Tạo tiện ích mở rộng trong từng tệp riêng biệt mà tiện ích mở rộng là cần thiết, rõ ràng là tạo ra các vấn đề với việc redeclaration không hợp lệ.
Cảm ơn trước!
Khi tôi thử trình biên dịch này bị lỗi. Bạn có thể muốn [nộp lỗi] (http://bugreport.apple.com). – jtbandes
Tôi cảm thấy rất không chắc chắn về tài sản bên trong phần mở rộng. Không có tình huống như trong http://stackoverflow.com/a/24115223/1726069? –