Câu hỏi phỏng vấn Xamarin
Câu hỏi

Selector trong...

Câu trả lời

Selector trong Xamarin.iOS là một thông điệp có thể được gửi đến một đối tượng hoặc một lớp (class). Trong ngôn ngữ Objective-C, selector là một phần cơ bản và Xamarin.iOS ánh xạ các selector của instance đến các phương thức instance, và các selector của class đến các phương thức static. Khác với các hàm C thông thường, bạn không thể gọi trực tiếp một selector sử dụng P/Invoke. Thay vào đó, các selector được gửi đến một lớp Objective-C hoặc instance sử dụng hàm objc_msgSend. Để gọi một selector, bạn cần thực hiện ba bước: lấy target của selector, lấy tên của selector, và gọi objc_msgSend với các đối số phù hợp[3].

Ví dụ, để liên kết một hành động nhấn cho một UIButton trong Xamarin.iOS, bạn có thể sử dụng namespace ObjCRuntime và thêm một target với một Selector mới như sau:

csharp Copy
using ObjCRuntime;
...
UIButton button = new UIButton();
...
button.AddTarget(this, new Selector("ButtonClickAction:"), UIControlEvent.TouchUpInside);

[Export("ButtonClickAction:")]
public void ButtonClickAction(UIButton sender)
{
    // ...
}

Ở đây, [Export("ButtonClickAction:")] là cần thiết để đ...

expert

expert

Gợi ý câu hỏi phỏng vấn

expert

Một số hạn chế của Xamarin.iOS

expert

Nhược điểm của Xamarin so với việc sử dụng Objective-C hoặc Java riêng biệt cho iOS và Android là gì?

expert

Chúng ta có thể khai báo thực thể ViewModel có tham số như là BindingContext trong XAML không?

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào