EXC_BAD_ACCESS
ファウンデーション クラスのメモリ管理は一貫して文書化されていますが、( Friendly を介して)たとえば Foundation 関数が定数ストレージへのポインターを返すように見えることに驚きましたNSStringFromSelector()
。これは、少なくとも関数のドキュメントには記載されていません。
その動作はどこかに文書化されていますか?一貫したガイドラインはありますか?
EXC_BAD_ACCESS
ファウンデーション クラスのメモリ管理は一貫して文書化されていますが、( Friendly を介して)たとえば Foundation 関数が定数ストレージへのポインターを返すように見えることに驚きましたNSStringFromSelector()
。これは、少なくとも関数のドキュメントには記載されていません。
その動作はどこかに文書化されていますか?一貫したガイドラインはありますか?
ルールは、Objective-C メソッドのルールとまったく同じです。コア基盤関数のドキュメントで示されています。
alloc
したがって、あなたの例では、 、new
、create
またはという単語copy
が存在しないため、返されるオブジェクトはあなたが所有していません (静的ストレージを持つか、自動解放されます)。