Tôi có một đối tượng điều khiển sở hữu một NSMenu và là đại biểu của trình đơn, vì lợi ích của dân số lười biếng.NSMenu đại biểu không được gọi để điền nó
Tuy nhiên, không phải numberOfItemsInMenu:
cũng không phải menuNeedsUpdate:
đã từng được gọi và do đó trình đơn vẫn trống.
Tôi đã khẳng định rằng:
- Các đối tượng điều khiển chưa được deallocated. (Bộ điều khiển, lần lượt, sở hữu menu.)
- Nó có một menu.
- Menu có đại biểu và đó là bộ điều khiển.
Nếu tôi thực hiện menuWillOpen:
, mà được gọi, nhưng you're not supposed to populate the menu there.
Tôi đã cố gắng gửi menu một thông báo update
và điều đó không có hiệu lực. Đại biểu vẫn không được gọi, và thực đơn vẫn trống.
Trong trường hợp có liên quan: Menu này không có trong menu chính; nó được sử dụng ở nơi khác.
Tại sao menu không yêu cầu người được ủy quyền điền vào? Có cái gì tôi đã bỏ lỡ, hoặc là điều này chỉ bị phá vỡ?
Bạn có thể dán mã của mình tại đây không. Vì vậy, chúng tôi cũng sẽ thử nó? –
@hussainShabbir: Không. Mã không thuộc về tôi; Tôi đang làm một công việc hợp đồng. (Bên cạnh đó, tôi đã thay đổi nó để không dựa vào những phương pháp được gọi bởi hệ thống.) –
Tôi đang có chính xác cùng một vấn đề bây giờ, và đề cập của bạn về 'menuWillOpen:' tiết kiệm thời gian của tôi rất nhiều. Đối với bản ghi, 'menuDidClose:' cũng tạo ra cùng một vấn đề ngay cả khi thiết lập thuộc tính 'enabled' của một mục menu. Điều duy nhất làm việc là 'menuNeedsUpdate:'. – Eonil