私は知らないうちにいくつかのオブジェクトがオートリリースされているのを少し迷惑にしています。彼らがいることはおそらく良いことですが、もしそうなら、私は知りたいのです。ドキュメンテーションはどのメソッドがオートレリースオブジェクトであるかを示していないので、私は通常自分の考え方をテストします。私の意見では愚かです。たとえば、[NSDate date]はオブジェクトをオートレースします。[NSArray arrayWithObjects:...]も同様です。あなたが書類を書いていないとどうやって知っていますか?オブジェクトがオートレリースされているかどうかを知る方法?
静的関数を持つオブジェクトを作成するメソッドは、常に自動解放されたオブジェクトを返しますが、パターンが見え始めています。これはいつも真実ですか?
私はあなたが "静的関数"ではなく "クラスメソッド"( "インスタンスメソッド"とは対照的に)を意味すると信じています。以下で解説するように、+/-は返されたオブジェクトがオートリリースされたかどうかを判断しません。それは規約と簡単なルールの問題です。ほとんどのメソッドは保持しなければならないオブジェクトを返します。+ 1の保持カウントを持つオブジェクトを返すメソッドは、ルールではなく例外です。 –
クラスメソッド私は確かに意味しました。私はJavaの用語から "静的"を使用し、何らかの理由で "関数"を使用しましたが、 "メソッド"であったはずです。まあ、とにかくメモリ内ではまったく同じです。 :) – quano