私は、アプリケーションデリゲート()とカテゴリ(および何もしないデフォルトウィンドウ)で構成される単純なCocoaアプリケーション(39 KB圧縮)を持っています。AppDelegate
NSString
そのinit
メソッドでは、はAppDelegate
を作成しNSSavePanel
ます。これを行う前後に、NSString
カテゴリメソッドによって空白と改行がトリミングされた文字列の長さをログに記録しますstringByTrimmingWhitespace
。
文字列は、空白文字と改行文字で構成されます。私のcategoryメソッドは、これらすべての文字をトリミングして、長さが0の文字列になるようにする必要があります。
NSSavePanel
が作成される前に、私のstringByTrimmingWhitespace
メソッドが呼び出され、期待どおりに長さ0の文字列が返されます。NSSavePanel
が作成された後、私のstringByTrimmingWhitespace
メソッドは呼び出されていないように見え、呼び出されたメソッドは新しい行をトリミングしません。ただし、NSString
まったく同じことを行う別のカテゴリメソッド(<code> stringByTrimmingWhitespaceAndNewlines)が呼び出され、期待どおりに機能します。
何が原因stringByTrimmingWhitespace
で呼び出されないのか、またはそれを修正する方法がまったくわかりません(名前を変更する以外に、これは私が行ったことです)。また、他のクラスの他のカテゴリメソッドがゴミ箱に入れられるのではないかと心配しています。ここで何が起こっているのか誰か知っていますか?