问题标签 [nsautoreleasepool]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
iphone - Objective C: how to set up a NSAutoreleasePool within a method where the method have a return type or within a overridden method with any return type?
How can I set up a NSAutoreleasePool within a method where the method have a return type? Is there any way to do that? like the methods like below:
Or a within a overridden method like:
I can see in the main.m file like below:
So it should be like this?
objective-c - NSAutoreleasePool 不可用
我正在关注“Objective-C 编程”第 3版,但我在第一个示例中遇到了问题。
我不断收到此错误:
语义问题:“NSAutoreleasePool”不可用:在自动引用计数模式下不可用
这是我的代码:
任何见解将不胜感激。
iphone - iPhone Dev - 关于自动释放以及我正在做的事情是否安全的问题
我的应用程序的方法中有以下代码:
我知道 arrayWithObjects 方法返回一个自动释放的数组。这是否意味着我应该在制作后直接保留它?是否保证在我将数组传递给 someMethodThatTakesAnArray 之前不会耗尽自动释放池?当它进入方法时呢?如果我从不保留它,那么当我在 someMethodThatTakesAnArray 中使用它时,该数组可能会消失,不是吗?
iphone - 如何避免在 iPhone 应用程序中泄漏?
我收到了崩溃日志:
任何机构都可以帮助我避免崩溃吗?
objective-c - @property(保留)是否自动释放或释放对象?
下面的超级简单代码让我遇到了完全出乎意料的计时问题。其中一个变量是自动释放的,我不知道为什么。我没有使用 autorelease、KVO 等。它不应该发生。
被WindowController
设置为@property (retain)
'd of MainController
。
在-dealloc
中MainController
,我愿意self.windowController = nil;
但是,它一直等到自动释放池被刷新以释放 windowController。我希望在完成后立即调用 WindowController 的 dealloc self.windowController = nil
。即使我将 [mainController release] 包装在 NSAutoreleasePool 中,它仍然不会立即释放。
为什么会这样?
对于@property / NSWindowController,这似乎不是正确的行为。我错过了什么吗?
更正:这不是绑定。我正式不知道问题是什么。
主驱动:
主控制器.h:
主控制器.m:
MainWindowControllerSubclass.h:
MainWindowControllerSubclass.m:
uiimagepickercontroller - 带有 UIImagePickerController 和 UIPopoverController 的 exc_bad_access
在我的应用程序(Ipad)中调用这段代码后,我立即得到了 EXC_BAD_ACCESS
我几乎没有从 XCode 中得到任何调试信息,XCode 向我指出了那行代码:
我猜一个对象已经过早地自动释放,但是为什么以及如何解决这个问题?
iphone - 自动引用计数 (ARC) 中的 NSThreads
我正在尝试在 4.3.5 中将 NSThreads 与 ARC 一起使用。使用 iOS 5 一切正常,但如果我在 4.3 等较旧的 iOS 上尝试它,它就会泄漏。通常我会为 NSThreads 使用 Autoreleasepool 但由于 ARC 中没有手动 Autoreleasepool 我不知道如何解决这个问题。
启动线程后,我在控制台中收到大量消息,例如“__NSAutoreleaseNoPool(): NSComparisonPredicate 类的对象 0x4567b40 自动释放而没有适当的池 - 只是泄漏”。
如何正确使用 ARC 和 iOS 5.0 之前的线程。
干杯nettz
cocoa - 崩溃日志帮助
我的应用程序从睡眠中醒来时在 Lion 上崩溃。问题似乎与正在寻找天气信息的后台线程有关。我不确定,但我认为崩溃日志告诉我自动释放池正在弹出不再存在的对象,有人可以帮我确认一下吗?
以下是崩溃日志的相关详细信息:
进程:myApp [14187] 标识符:myApp 版本:
??? (???) 代码类型:X86-64 (Native) 父进程:launchd [224]日期/时间:2011-08-24 18:58:00.581 -0400 操作系统版本:Mac OS X 10.7.1 (11B26) 报告版本:9
崩溃的线程:7
异常类型:EXC_BAD_ACCESS (SIGSEGV) 异常代码:0x0000000000000010 处的 KERN_INVALID_ADDRESS
应用程序特定信息:objc[14187]:垃圾收集已关闭
线程 7 崩溃:0 libobjc.A.dylib
0x00007fff9321700b(匿名命名空间)::AutoreleasePoolPage::pop(void*) + 385 1
com.apple.CoreFoundation 0x00007fff961306a5 CFAutoreleasePoolPop + 37 2 com.apple.Foundation
0x00007fff96930+NSreleaseDrain 154 3
COM.PISO13.OPUSDOMINI 0x00000001000CB91 - [天气INESITESTART] + 417 4
COM.APPLE.Foundation 0x00007FFF9698B1EA - [NSTHREAD MAIN] + 68 5
COM.APPLE.Foundation 0x00007FFF9698B162 NSTHREAD _MAIN + 1575 6 LIBSYSTEM_C.DYLIB
0x00007FFF90B068BF _PTHREAD_START + 335 7 LIBSYSTEM_C .dylib
0x00007fff90b09b75 thread_start + 13
这是我的天气内部启动代码:
我什至应该打电话给 [pool drain] 吗?
iphone - 处理 AutoRelease 池和线程
如果我创建一个带有回调的线程,例如..
我假设任何自动释放的东西都不会真正被释放,因为池永远不会被耗尽。我可以改变周围的事情是这样的:
但是这么频繁地分配/删除似乎有点浪费。有没有办法可以留出一块内存并在池满时释放它?
iphone - 需要澄清 NSAutoreleasePool
每当我们调用autorelease
方法时,它的对象都会NSAutoreleasePool
. 当池被耗尽时,它正在向池中的所有对象发送释放。
我的问题是;
在 main 函数中有一个NSAutoreleasePool
. 我想知道;当我们调用该autorelease
方法时,它会将对象发送到哪里?我是说; 它正在将NSAutoreleasePool
主要功能(或)中的对象发送到某处?
提前致谢。