问题标签 [retain]

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.

0 投票
2 回答
1247 浏览

objective-c - 我应该将@property(保留)用于保留的@dynamic 属性设置器吗?

对于我使用 @dynamic 关键字手动编写的 getter/setter 的属性,我有以下代码:

我的问题是,如果我从@property 声明中删除保留,编译器会抱怨默认值将被分配并且它可能不是我想要的。如果我添加保留,我认为它将被忽略,因为我自己编写了 getter/setter?

只是在寻找对此的快速确认。

0 投票
3 回答
1370 浏览

objective-c - @property(只读,保留)是否有意义?

XCode 接受它。但是当我在内部设置属性时会应用保留(因为只读,但是当我在类方法中初始化值时没有设置器)?

问候, Apple92

0 投票
1 回答
695 浏览

iphone - 如何修复奇怪的保留计数(1 init - 3 retaincount)?+ 编辑:dealloc 问题

所以我的代码是这样的:

我得到:

如何解决这个烂摊子?我不明白我做错了什么,这部分有时会由于内存不足而导致应用程序崩溃。

编辑:相关问题。

所以情况和上面定义的一样,但问题是 ArticleControllerController 的 dealloc 方法永远不会被调用。

更多代码:

}

如果此方法重复多次 ArticleControllerController 创建大量各种界面元素,但它的 dealloc 方法永远不会释放它们(保留计数永远不会下降到零),所以我认为这就是我试图解决的内存崩溃问题现在几天。

那是怎么回事?我可以做更多的事情来解决这个问题吗?

0 投票
1 回答
845 浏览

iphone - UIViewController 保留问题:计数永远不会达到零

请看下面我的代码。这部分从堆栈中弹出顶视图控制器(通常相同ArticleControllerController)(我发现无论是弹出单个控制器还是弹出到根控制器,问题都保持不变),创建新控制器并添加到堆栈中。

问题是,它的保留计数永远不会变为零,因此永远不会调用deallocof 方法,从而ArticleControllerController使大量的各种接口对象未释放。由于内存不足,最终应用程序崩溃(至少在设备中,至少我认为这部分是主要问题)。

所以,我猜,popViewControllerAnimated 只发布了其余两个保留中的一个。为什么?我应该寻找什么?我能做些什么?打电话[ac release]两次(那将是可怕的事情)?

0 投票
1 回答
602 浏览

objective-c - 如何为嵌套到结构的属性设置保留?

objc 中确实有一些我无法理解的东西。我知道如何制作可保留的属性,但不明白如何制作可保留的“子”结构字段,这些字段不是“公共”属性,而只是“私有”属性(私有属性仅由我的方法管理)。

这是我的代码:

我希望每次在我的方法中分配插槽名称(结构中的插槽名称)时都保留它,但这不是一个属性,因为从外部看不到。

例如,每次我用另一个 NSString 初始化它时,我都会这样做:

我真的觉得这不是一种“好”(不优雅)的做事方式。

我想我应该删除 _device_descriptor 结构并有这样的东西:

但这并没有更好,因为我没有在结构中收集常见的东西......

有没有更聪明的方法?

问候,弗兰兹

0 投票
6 回答
4970 浏览

iphone - 使用@synthesize 如何实现retain setter?

我在标题中有以下内容:

在实施中:

然后:

tempOverlay上面的变量不是不必要的吗?我不能这样做:

0 投票
2 回答
23288 浏览

forms - 将表单提交到 Servlet 后,如何在 JSP 中保留 HTML 表单字段值?

在从 HTML 中提交数据后,servlet 将这些数据添加到我的数据库并将结果消息转发到 JSP 页面。我想在转发之后保留表单中最初提交的值。

在 servlet 中创建一个对象并添加我收到的所有参数并将其与请求一起发送到 JSP 是否明智?还有其他更好的方法吗?

0 投票
2 回答
184 浏览

iphone - 将@Property UISwitch 添加到 TableView 会导致 RetainCount 问题

我正在使用 UISwitchs 和 UITextFields 执行此操作...

我已在头文件中将 UISwitch 声明为属性,因为我想在我的类中通过几种不同的方法访问它的值。

我正在使用以下代码将 UISwitch 添加到我的 TableViewCell 之一:

事实上,retainCounts 无处不在。将单元格放在屏幕上时,mySwitch Retain 为 2,每次我点击开关时,保留计数都会增加,直到达到 4,然后它似乎就停留在那里。

显然我错过了一些东西。如果有人能指出我正确的方向,将不胜感激。

0 投票
4 回答
231 浏览

iphone - Objective C,内存管理

1)使用retain的原因是什么?

例如,在 setter 方法中:

2)自动释放方法:是删除旧对象还是准备新对象?

3) 为什么在输入对象处调用保留方法?

是错的?为什么?

0 投票
1 回答
496 浏览

objective-c - 关于在属性中保留属性的问题

客观的 C 文档说关于属性中的保留属性:

保留 指定在分配时应在对象上调用保留。(默认为分配。)先前的值被发送释放消息。

UITableViewCell我以为我理解了属性和属性,直到我在参考指南中看到这样的内容:

然后读到上面真的让我很困惑。

我的问题:

1)假设我有:

然后在实现文件中:

这不会增加“b”指向的对象的保留计数对吗?我现在对此感到困惑,因为目标 C 文档说:

保留 指定在分配时应在对象上调用保留。(默认为分配。)先前的值被发送释放消息。

2)如果以上是正确的,那么当setter被调用正确时,retain属性只会增加retain count?

3) 我在某些地方听说过在其自己的初始化程序中调用对象的 setter 方法是不好的。为什么?对我来说,如果你这样做不好,那么你必须这样做:

考虑到您已经从b.

4)在上面的例子中也有@property (retain, readonly) SomeObject *t;类似的东西。UITableViewCell“readonly”表示没有合成吸气剂。如果我对“保留”的理解是正确的(即它只发生在二传手中),那么这似乎真的很矛盾。