Tôi có một lớp con của một UITextView và tôi muốn làm cho nó là đại biểu của chính nó. Để tôi có thể ghi đè phương thức textView:shouldChangeTextInRange:replacementText:
và ngăn không gian liên tiếp được nhập.UITextView là đại biểu của riêng có nghĩa là vòng lặp vô hạn
Trong [SATextView awakeFromNib]
(SATextView là lớp con của UITextView), tôi làm [self setDelegate:self];
. Khi tôi bấm vào textview để bắt đầu chỉnh sửa tất cả mọi thứ đóng băng và cuối cùng dừng lại, và backtrace cho thấy rằng đã có một vòng lặp vô hạn.
Không quan trọng nếu tôi triển khai tất cả các phương thức đại biểu, chỉ một hoặc không có phương pháp nào. Cũng không quan trọng nếu những phương pháp đó trống.
Tại sao điều này gây ra vòng lặp vô hạn? Nó chỉ dường như xảy ra nếu với UITextView (các đối tượng khác bạn có thể phân lớp và thiết lập các đại biểu để tự, và nó sẽ không có vấn đề này). Và làm thế nào tôi có thể ngăn chặn nó? Hoặc có cách nào tốt hơn để lớp con này không thể có các khoảng trắng liên tiếp,
Hãy nghĩ về điều đó. Cứng. Có thể có một lớp là đại diện riêng của nó, nhưng nó đòi hỏi sự suy nghĩ. –
@HotLicks Tôi có mặc dù về nó, tôi đã thực hiện nó với các lớp khác mà không có vấn đề? Bạn có thể giúp? –
Backtrace sẽ hiển thị cho bạn vòng lặp mà bạn đang sử dụng. –