2015-06-11 19 views
5

Tôi đã thấy nhiều bài viết giải thích làm thế nào để gọi chức năng C từ Swift, nhưng tôi muốn để khám phá những converse (nếu có thể), để gọi chức năng Swift từ C.Calling Swift từ C

Tôi đã xem các ví dụ minh họa các hàm Swift trong objC, nhưng chúng không giúp tôi đạt được mục tiêu gần hơn. Tác vụ này có được hỗ trợ không?

+0

Chỉ cần đoán, nhưng không. Bạn sẽ cần phải thiết lập toàn bộ thời gian chạy cho Swift từ C mà không có gì thú vị cả và sẽ không có ý nghĩa. Việc gọi một mức độ thấp từ một ngôn ngữ bậc cao có ý nghĩa đối với các lý do hiệu suất (hoặc mức I/O cấp thấp). Nhưng ngược lại nó đơn giản - tôi không có từ thích hợp nếu bạn biết ý tôi là gì. –

+0

yea, tôi sẽ giả định tương tự. Nó sẽ chỉ được tốt đẹp để mở rộng các dự án hiện tại được viết bằng C với các mô-đun mới được viết bằng Swift nếu có thể. – sam

+0

Huh. Như đã nói: ngược lại tôi sẽ không có vấn đề gì nhưng theo cách này? Tạo một giàn giáo Swift và tái sử dụng mã C cũ của bạn, thay thế nó bằng mã Swift. –

Trả lời

2

Cách duy nhất được hỗ trợ để gọi mã Swift từ mã C là sử dụng Objective-C giữa hai mã.

Đó không phải là để nói rằng nó hoàn toàn không thể, nhưng ai đó sẽ phải đưa ra một tiện ích và hàm bao như NSInvocation cho các đối tượng không có đại diện C chính xác.