2010-11-08 37 views
6

Tôi đã tạo một lớp tùy chỉnh UIView FormDropdown, trong đó có một câu hỏi & nút trong ngòi bút. Trong lớp học cũng là một tài sản NSArray mà là vụ phải lưu trữ các tùy chọn khác nhau cho các nút.Truyền dữ liệu đối tượng bằng nút UIButton

Vì vậy, một nút có thể được đặt bằng cách làm này, trong ví dụ một phương pháp viewDidLoad:

FormDropdown *dropdown = [FormDropdown dropdownWithQuestion:@"This is an example question" andLabel:@"Select one" andOptions:[NSArray arrayWithObjects:@"One", @"Two", @"Three", nil]]; 
[self.view addSubview:dropdown]; 

Rõ ràng, tôi muốn nút để, khi khai thác, mang đến một UIPickerView với các tùy chọn hiển thị. Nhưng tôi bị mắc kẹt về cách gửi các tùy chọn cho bất kỳ phương pháp nào. Tôi biết tôi có thể đính kèm một hành động vào nút như vậy:

[dropdown.dropdownButton addTarget:self action:@selector(dropdownPressed:) forControlEvents:UIControlEventTouchUpInside]; 

.. nhưng tôi không thể thấy cách tôi chuyển các tùy chọn từ mảng thả xuống.options cho phương thức?

Trả lời

0

Tôi đang tìm kiếm một cách để làm điều đó cũng ... tuy nhiên, nó dường như không thể.

Giải pháp có thể có của tôi: Tôi nghĩ tôi sẽ tạo một lớp con của UIButton và thêm thuộc tính "NSObject * tagObject" vào nó.

Có ai đó có vẻ gì đó sai về nó? (Tôi đang sử dụng ARC, và tôi tự hỏi liệu điều đó có làm cho các vật thể vẫn còn trong ký ức - tôi không nghĩ vậy).

+0

Không thể nghĩ ra bất kỳ mối nguy hiểm nào khi làm như vậy, nhưng điều đó thật bất tiện. – devios1

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