Một hàm/ biến được khai báo với @objc có thể truy cập từ mã Objective-C, nhưng Swift vẫn sẽ tiếp tục truy cập nó trực tiếp thông qua cơ chế static hoặc virtual dispatch. Điều này có nghĩa là nếu hàm/biến này được swizzled thông qua framework Objective-C, như khi sử dụng Key-Value Observing hoặc các API Objective-C khác để sửa đổi các lớp, việc gọi phương thức từ Swift và Objective-C sẽ sản sinh kết quả khác nhau.
Khi sử dụng dynamic, Swift luôn thực hiện việc gọi thông qua Objective-C dynamic dispatch. Điều này là cần thiết cho các chức năng như Key-Value Observing hoạt động đúng. Khi gọi hàm Swift, nó sẽ tham chiếu đến runtime của Objective-C để thực hiện việc gọi theo dynamic dispatch.