1
Xcode 3.2で使用した@property(非原子的、保持)と@property私たちはXcode 4.2で使用していますか?ここでは「強い」とはどういう意味ですか?Xcode 3.2の@property(非原子的、保持)とXcode 4.2の@property(強い、非原子的)の差
Xcode 3.2で使用した@property(非原子的、保持)と@property私たちはXcode 4.2で使用していますか?ここでは「強い」とはどういう意味ですか?Xcode 3.2の@property(非原子的、保持)とXcode 4.2の@property(強い、非原子的)の差
"strong"は、このプロパティがオブジェクトを指している限り、そのオブジェクトが自動的に解放されないことを示すARC(Automatic Reference Counting)のヒントです。
「弱い」キーワードもありますが、(IOS5の)代わりに、プロパティが同時にNULLに設定されている限り、ARCがそのプロパティが指すオブジェクトを解放することが自由であることを示します。
要約すると、オブジェクトに少なくとも1つの「強い」プロパティがある限り、それはARCによって解放されません。すぐに解放されず、すぐに解放され、すべての「弱い」プロパティこれはNULLに設定されます。
これは、このプロパティパラメータでreleaseを使用できることを意味します。通常、xcode 4.2は保持/解放操作でエラーを出します。 –
@Arshad - いいえ、そうではありません。あなたが '強い'を使っているなら、あなたはARCを使用しています、そしてあなたがARCを使っているならば、あなたは解放しません。 – jrturton
@Arshadいいえ、ARCを有効にしている場合、何もリリースできません。 「強力な」プロパティを設定するだけで、ARCは必要に応じてオブジェクトの保持/解放を自動的に処理します。 –