別のという名前を使用して、NSMutableAttributedString
という名前のディープ コピーを作成しようとしています。どちらも に設定されたプロパティであり、次のようにバックアップを作成します。text
NSMutableAttributedString
textBackup
@property (nonatomic, retain)
NSMutableAttributedString *textBackupTemp = [self.text mutableCopy];
self.textBackup = textBackupTemp;
[textBackupTemp release];
その後、特定のシナリオが発生したときに、コピーを復元する必要があります。
NSMutableAttributedString *textTemp = [self.textBackup mutableCopy];
self.text = textTemp;
[textTemp release];
これはうまくいくようですが、次回は次text
のようにアクセスします。
[self.text.string characterAtIndex: self.cursor.position-1]
次のエラーが表示されます。
*** Terminating app due to uncaught exception 'NSRangeException', reason: '-[__NSCFString characterAtIndex:]: Range or index out of bounds'
文字列のサイズが 43 ではなく 1 に変更されました。ここで何が起こっている可能性があります...
編集:問題を更新しました。