これは正しいとは言えません。私は、ShareKitという名前のソースコードを見ていました.Nathanという名前の人が書いたもので、後でdeallocで解放するという見解を自動化しています。iOS:自動リリース後のリリース
答えて
なぜそれが間違っていると思われるのか正確にはわかりません。たとえばこれは完全にあなたが見ているようなものと同じ種類を示す有効なコードです:
@interface SomeClass : NSObject
@property (nonatomic, retain) NSNumber *someNumber;
@end
@implementation SomeClass
@synthesize someNumber;
- (id)init {
if ((self = [super init]])) {
self.someNumber = [[[NSNumber alloc] initWithInt:5] autorelease]; // retain count = 1 (alloc) - 1 (on next drain) + 1 (retaining property) = 1
}
}
- (void)dealloc {
[someNumber release]; // retain count = 0
[super dealloc];
}
@end
autorelease
後に起こっrelease
には何の問題もありません。
有効になり、コードのもう一つのビット(完全に無意味であるが!):
NSNumber *someNumber = [[NSNumber alloc] initWithInt:5]; // retain count = 1
[someNumber retain]; // retain count = 2
[someNumber autorelease]; // retain count = 2 (-1 on next drain) = 1
[someNumber release]; // retain count = 1 (-1 on next drain) = 0
これがなぜ完全に有効か説明できますか?私は自動リリースプールとマニュアルリリースを混ぜる理由は考えられません。 – ktingle
私の最初の例は、それがなぜ有用かを示しています。プロパティに割り当てることは、多くの場合、1行に収まるように行われます。そして、 'dealloc'で' someNumber'を '解放'します。あなたが破壊されているので、あなたが所有しているすべてのものを '解放'しているからです。 – mattjgalloway
「リリースコード」はどちらですか? – mattjgalloway
いいえ、ありませんがあります。 自動解放プールは、そのインスタンスが削除された各インスタンスのリリースを呼び出します。
- 1. Instruments Using Leaks&Object Alloc:自動リリースされたオブジェクトはリークとしてカウントされますか?
- 2. Xamarin iOSアプリのCIリリースを自動化
- 3. ビルド成功後のBambooリリースの自動作成
- 4. 自動リリースまたは直後にリリースする方が良いですか?
- 5. Android用のファストレーン/リリースの自動化
- 6. リリース+バージョンのプラグインでリリース手順を完全に自動化
- 7. iPhone開発 - 自動リリースオブジェクトのリリース
- 8. UIPopoverリリースiOS
- 9. iOS自動ログアウト
- 10. 自動AirPrint IOS
- 11. 連続配信のリリース後にマスタマージを自動化する方法
- 12. iOSアレイコピー、リリース方法
- 13. iOS - PassBook自動アップデート
- 14. XSコミュニティ6.1.1 iOSシミュレータ8.1のデプロイ後の自動終了アプリケーション
- 15. iOSのオーディオの自動テスト
- 16. iOS Simulatorが最後のリリースでデバッグを続ける
- 17. iOSリリースのメモリ管理
- 18. iOS App Storeリリースの問題
- 19. iOSアプリの自動アップグレード
- 20. iOSの自動スクロールUITextView
- 21. iOS自動レイアウトのパーセンテージ
- 22. iOSのFirebase自動ログイン
- 23. iOSの制約 - 自動レイアウト
- 24. リリース(自分の)キーストアでデバッグ
- 25. iOS 5 - Admobテストとリリース
- 26. Rocket.Chat起動後のiOSアプリ
- 27. iOSログイン/自動ログインとログアウトフロー
- 28. iOS 11 UIToolBar自動拡張
- 29. iOS向けマルチデバイス自動テストツール
- 30. IOS Swift 3ユニバーサル自動レイアウト
そのオブジェクトの割り当てコードを確認すると便利です。しかし、私は彼の論理が正しいと思う。 – Dancreek