Instance Method インスタンスメソッド

unload()

Unloads the code associated with the receiver. レシーバに関連付けられたコードをアンロードします。

Declaration 宣言

func unload() -> Bool

Return Value 戻り値

true if the bundle was successfully unloaded or was not already loaded; otherwise, false if the bundle could not be unloaded. true、もしバンドルがうまくアンロードされたまたは今までロードされなかったならば;そうでなければ、false、もしバンドルがアンロードできなかったならば。

Discussion 議論

This method attempts to unload a bundle’s executable code using the underlying dynamic loader (typically dyld). You may use this method to unload plug-in and framework bundles when you no longer need the code they contain. You should use this method to unload bundles that were loaded using the methods of the NSBundle class only. Do not use this method to unload bundles that were originally loaded using the bundle-manipulation functions in Core Foundation. このメソッドは、バンドルの実行可能コードを、基礎をなす動的ローダー(一般的にdyld)を使ってアンロードしようと試みます。あなたは、プラグインやフレームワークバンドルを、それらが含むコードをあなたがもはや必要としない時このメソッドを使ってアンロードするかもしれません。あなたは、NSBundleクラスのメソッドを使ってロードされたバンドルをアンロードするためにのみ、このメソッドを使うべきです。Core Foundationのバンドル操作関数を使って元々はロードされたバンドルをアンロードするために、このメソッドを使わないでください。

It is the responsibility of the caller to ensure that no in-memory objects or data structures refer to the code being unloaded. For example, if you have an object whose class is defined in a bundle, you must release that object prior to unloading the bundle. Similarly, your code should not attempt to access any symbols defined in an unloaded bundle. インメモリのオブジェクトまたはデータ構造体がアンロードされるコードを参照しないことを確実にするのは呼出し側の責任です。例えば、それの持つクラスがバンドル内で定義されるオブジェクトをあなたが持つならば、あなたはバンドルがアンロードされる前にそのオブジェクトを解放しなければなりません。同様に、あなたのコードは、アンロードされたバンドルの中で定義される何らかの表象にアクセスするのを試みるべきではありません。

Special Considerations 特別な注意事項

Prior to OS X version 10.5, code could not be unloaded once loaded, and this method would always return false. In macOS 10.5 and later, you can unload a bundle’s executable code using this method. OS X バージョン10.5より前、コードは一旦ロードされるとアンロードされることができませんでした、そしてこのメソッドは常にfalseを返すでしょう。macOS 10.5以降では、あなたはバンドルの持つ実行可能コードをこのメソッドを使ってアンロードできます。

See Also 参照

Loading Code from a Bundle バンドルからコードをロードする