2012-08-04 34 views
5

Sau khi tôi nâng cấp máy lập trình lên MountainLion và XCode lên phiên bản mới, tôi nhận được cảnh báo này được in vào bảng điều khiển mỗi lần tôi chạy ứng dụng của mình:"Không có ý nghĩa khi vẽ hình ảnh" - Cảnh báo sau khi nâng cấp lên MountainLion

Không có ý nghĩa khi vẽ hình ảnh khi [NSGraphicsContext currentContext] là không. Đây là lỗi lập trình. Phá vỡ khoảng trống _NSWarnForDrawingImageWithNoCurrentContext() để gỡ lỗi. Điều này sẽ chỉ được ghi lại một lần. Điều này có thể phá vỡ trong tương lai.

Tôi không sử dụng Hình ảnh ở bất kỳ đâu trong Đơn đăng ký của mình và tôi đã tìm kiếm toàn bộ dự án để tìm hình ảnh nhưng không thể tìm thấy hình ảnh đó. Có ai biết điều gì có thể gây ra điều này?

Tôi đang sử dụng 2 tệp nib btw: Một cửa sổ bật lên và Mainwindow. Không ai trong số họ chứa một hình ảnh.

Edit: tôi thấy dòng khi điều này xuất hiện:

[self.popover showRelativeToRect:[appDelegate.menulet frame] 
           ofView:appDelegate.menulet 
         preferredEdge:NSMinYEdge]; 

Nhưng không ai trong số những đối tượng là con số không. Bất kỳ đề xuất?

Chỉnh sửa 2: Bảng kê là lớp con NSView btw. Vì vậy, tôi đang đi qua một cái nhìn.

+0

Bạn đã đặt điểm ngắt nơi nó được nói đến? Đăng theo dõi ngăn xếp khi điểm ngắt được nhấn. –

+0

Làm cách nào để tìm hiểu? Nó không cho tôi thấy dấu hiệu cảnh báo màu vàng, tôi chỉ nhận được thông báo này. Có một ngày và tên ứng dụng của tôi theo sau là "[6686: 303]". Tôi đã kiểm tra tất cả các lớp trong dòng 303, nhưng không thể tìm thấy một thứ gì. –

+2

Đọc [Giới thiệu về Bộ điều hướng Breakpoint] (http://developer.apple.com/library/mac/#recipes/xcode_help-breakpoint_navigator/articles/about_breakpoint_navigator.html#//apple_ref/doc/uid/TP40010433-CH6-SW1) và [Thêm điểm ngắt biểu tượng] (http://developer.apple.com/library/mac/#recipes/xcode_help-breakpoint_navigator/articles/adding_a_symbolic_breakpoint.html).Đặt '_NSWarnForDrawingImageWithNoCurrentContext' vào trường Biểu tượng và để trống trường Mô-đun. –

Trả lời

0

Trong trường hợp của tôi, cảnh báo dẫn đến việc viết lại menuIcon của tôi bằng hình chữ nhật (Làm việc trên menu ứng dụng Menu). Chưa giải quyết được vấn đề, nhưng tôi biết nó xuất phát từ đâu trong trường hợp của tôi. Nếu bạn có ứng dụng thanh thực đơn, hãy kiểm tra mã tạo biểu tượng của bạn.

1

Tôi đã thử đặt điểm ngắt nhưng nó được gọi khi nib tải. Vì vậy, nó là rất không cụ thể. Tôi tạo ra một bản sao của ngòi bút và sau đó xóa các đối tượng từ nó từng cái một cho đến khi cảnh báo biến mất. Trong trường hợp của tôi, đó là một NSOutlineView. Nhưng ngay sau khi tôi thêm một NSOutlineView mới, lỗi đã trở lại.

Tôi cuối cùng cũng có thể xóa cảnh báo bằng cách tạo lại toàn bộ NIB bằng tay. Đau đớn nhưng nó đã thoát khỏi cảnh báo.

+0

Cảm ơn tôi sẽ thử điều này sau! –

+0

Thực sự tái tạo NIB-File đã sửa nó. –

1

Nếu bạn có NSImageView được khởi tạo trong nib nhưng không có bộ ảnh (và bạn tự vẽ hình ảnh), hãy đặt nó và cảnh báo sẽ biến mất.

+1

Tôi không có NSImageView. Đó là những gì tôi rất tò mò về ... –

+1

Nhưng tôi đã có một NSImageView được khởi tạo trong nib nhưng không có tập ảnh. Việc xóa nó đã xóa lỗi. Cảm ơn rất nhiều. –

1

Trong trường hợp của tôi, đó là do kích thước hình ảnh là {0,0}, điều này "không có ý nghĩa". Thực ra, hình ảnh dành cho NSButton, tôi thay đổi hình ảnh của nút theo lập trình. Trong một trường hợp, nút phải trống, vì vậy tôi chỉ cần đặt một hình ảnh trống với [NSImage new]. Nhưng lỗi xảy ra, sau đó không có vấn đề làm thế nào tôi thay đổi hình ảnh của nút, nút luôn trống. Sau khi thiết lập kích thước cho hình ảnh trống, vấn đề được giải quyết và tôi có thể thay đổi hình ảnh của nút thành công.

Các vấn đề liên quan