我實現了一個簡單的drfat存儲爲UITextView
我在應用程序中使用。一切工作正常,但是當我找回這個草案,將其分配給UITextView
,並設置selectedRange
(也有的儲值)我得到這個怪異警告:設置UITextView中的光標位置產生警示
requesting caretRectForPosition: with a position beyond the NSTextStorage (4)
從我注意到的東西.. 。這隻發生在短於4個字符的字符串上(這可能會提供一些線索,因爲警告消息中也會出現4)。
它可能有助於TI發佈實際分配的代碼,所以這裏是:
self.textView.text = savedDraft.text;
self.textView.selectedRange = NSMakeRange(savedDraft.cursorPosition, 0);
你有什麼想法,有什麼可以產生這樣的警告?我發現here這可能是由於UITextView
的Swift實現引起的,但我們是純粹的Objective-C。
更新:
當我保存我做這location
保存爲NSUInteger
,我把它從我UITextView
這樣的:
self.textView.selectedRange.location
所以,如果你考慮一個簡單的「你好「消息(兩個字符)我得到這樣的日誌的形式保存和檢索方法:
Get draft position: 0
Saving draft position: 2
Get draft position: 2
嘗試此鏈接http://stackoverflow.com/questions/8891072/how-to- set-the-the-position-of-the-cursor-in-uitextview – Pushkraj
「savedDraft.cursorPosition」出現時的值是什麼? – Larme
我認爲應該保存Draft.text.cursorPosition – Pushkraj