在NSString的Apple文檔中,有一個stringByReplacingCharactersInRange方法,但我在Monotouch中找不到此方法。在Monotouch中是否存在NSString的「stringByReplacingCharactersInRange」方法?
該方法實現從Monotouch - 本機API綁定中缺少嗎?
我需要這個方法來實現內部shouldChangeCharactersInRange
在NSString的Apple文檔中,有一個stringByReplacingCharactersInRange方法,但我在Monotouch中找不到此方法。在Monotouch中是否存在NSString的「stringByReplacingCharactersInRange」方法?
該方法實現從Monotouch - 本機API綁定中缺少嗎?
我需要這個方法來實現內部shouldChangeCharactersInRange
下面是一些代碼,做你需要的東西:
string text = field.Text;
string result;
result = text.Substring (0, range.Location) + replacement + text.Substring (range.Location + range.Length);
爲什麼downvote? :-( – jstedfast
感謝jstedfast,你的代碼做我正在尋找的東西 –
並非一切都被綁定爲NSString
一些自定義字符串處理邏輯,因爲這主要是複製在System.String
提供的.NET方法。
最簡單的方法是使用.NET(本地)字符串,並在需要與需要它的API進行互操作時創建NSString
。這具有最小化託管/非託管過渡的數量的優點(這是一個小的成本)。
string s = "...";
var ns = new NSString (s);
也是一樣,如果你從API收到NSString
,將其轉換成字符串,然後對其進行操作。
NSString ns = NSSomething.GetIt();
string s = ns.ToString();
如果您發現有沒有類似.NET方法,那麼請填寫上http://bugzilla.xamarin.com bug報告,我們將確保它包括在MonoTouch的未來版本的一個特異性結合。通常可以立即解決您的問題。
感謝poupou。我無法找到與stringByReplacingCharactersInRange平等的.NET Framework方法。我將填寫一份錯誤報告 –
您正在使用一個NSString或MonoTouch的字符串? –
我試過了,都沒有這樣的方法。 –
不確定'shouldChangeCharactersInRange'是什麼?錯字? – poupou