2010-01-14 27 views
5

Tôi có một loạt các NSTextFields trên cửa sổ (được gắn thẻ 1-8) và tôi tự hỏi liệu có thể truy cập từng trường văn bản một cách lập trình bằng số thẻ của tôi không?Nhận NSTextField theo số thẻ?

Tôi là người mới và tôi biết cách truy cập các trường này theo tên, thực hiện theo số thẻ sẽ khiến mọi thứ trở nên đơn giản hơn nhiều so với những gì tôi đang cố đạt được trong trường hợp cụ thể này.

Thanks a lot :-)

+0

“... Tôi biết làm thế nào để truy cập vào các lĩnh vực này theo tên ...” Ý anh là thông qua các biến cửa hàng của bạn. Hầu hết các lớp Cocoa (bao gồm cả NSTextField) không cho phép bạn đặt tên cho các cá thể của chúng, và thậm chí cả các trường hợp thường không cho phép bạn tìm kiếm một cá thể theo tên. –

+0

Chính xác. Tôi đã có nghĩa là thông qua các biến outlet của họ. – Bender

Trả lời

6
the_fourth_textview = [the_superview_containing_all_textfields viewWithTag:4]; 
+0

Cảm ơn bạn đã phản hồi nhanh, Kenny :-) Thật không may là tôi không lên tốc độ cho các cuộc phỏng vấn và giám sát, v.v ... vì vậy tôi không thể dịch thành công mã giả trên thành mã hoạt động ... Tôi đã thử: NSTextView * fieldToChange; fieldToChange = [[self superview] viewWithTag: 4]; nhưng điều này rõ ràng là sai. Bằng cách này, cửa sổ thuộc về một lớp con NSWindowController trong ứng dụng (NSObject) của tôi nếu điều đó giúp. – Bender

+1

Nếu bạn không biết đó là superview, chỉ cần đặt đối tượng cửa sổ ở đó. – kennytm

+0

Tất cả cố định ngay bây giờ Kenny! Đánh giá cao sự giúp đỡ của bạn :-) – Bender

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