[str replaceOccurrencesOfString: withString: options: range:
使用replaceOccuranceOfString功能
[str replaceOccurrencesOfString:@"'" withString:@"!~" options:0 range:NSMakeRange(0,str.length)]
時,遇到了一個錯誤,我用這個功能在我NSMutableString
,以取代「象徵!〜符號,這樣我可以存儲串入數據庫。它的工作很好,當我把它存儲到數據庫中,但在檢索時,使用相同的函數將其轉換回來,它顯示了我的錯誤。
錯誤 *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Attempt to mutate immutable object with replaceOccurrencesOfString:withString:options:range:'
這裏,str
是NSMutableString
類型。我檢查了它的類型[str class]
它的轉換爲NSCFString
不知道它爲什麼會改變?我也嘗試將它轉換爲NSMutableString
,但它沒有轉換。我在其他方面嘗試了很多次,但是它在所有其他地方都能正常工作,只有在我的一個視圖控制器中,它才向我展示了這一點。
任何猜測我在哪裏做錯了?
嘗試在使用它之前分配str變量。 – 2012-04-12 06:42:49
@RamaRao,我試過了!它不工作。 – Hemang 2012-04-12 06:47:02
你試過像這樣NSString * str = [[[NSString alloc] init] retain]; – 2012-04-12 06:51:26