Tôi đang cố sử dụng NSTextField cho đầu vào số nguyên của người dùng. Trường văn bản được liên kết với thuộc tính NSNumber và trong phương thức setter, tôi dọn sạch giá trị đầu vào (đảm bảo rằng nó là một int) và thiết lập thuộc tính nếu cần thiết. Tôi gửi willChangeValueForKey: và didChangeValueForKey :, nhưng giao diện người dùng không cập nhật các giá trị mới trong khi trường văn bản đó vẫn hoạt động.ràng buộc NSTextField với NSNumber
Vì vậy, ví dụ tôi có thể nhập "12abc" trong trường văn bản mà phương thức setter dọn dẹp thành "12", nhưng trường văn bản vẫn hiển thị "12abc".
Tôi đã chọn "Cập nhật giá trị liên tục" trong trình tạo giao diện.
(Tôi cũng đã nhận thấy rằng phương pháp setter nhận được một NSString, không phải là một NSNumber. Có phải đó là bình thường không?)
cách chính xác của hooking lên một NSTextField một NSNumber là gì? Phương thức setter trông như thế nào cho thuộc tính? Làm cách nào để ngăn các giá trị không phải số hiển thị trong trường văn bản?
tôi đã thêm một định dạng số bằng cách thả nó trên các lĩnh vực văn bản như đề xuất trong doc bạn chỉ ra, nhưng không có gì xảy ra. Tôi vẫn có thể nhập ký tự không phải số. Tôi có cần phải làm bất cứ điều gì khác ngoài việc kết nối trình định dạng với trường văn bản không? – lajos