问题标签 [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.
objective-c - 我应该将@property(保留)用于保留的@dynamic 属性设置器吗?
对于我使用 @dynamic 关键字手动编写的 getter/setter 的属性,我有以下代码:
我的问题是,如果我从@property 声明中删除保留,编译器会抱怨默认值将被分配并且它可能不是我想要的。如果我添加保留,我认为它将被忽略,因为我自己编写了 getter/setter?
只是在寻找对此的快速确认。
objective-c - @property(只读,保留)是否有意义?
XCode 接受它。但是当我在内部设置属性时会应用保留(因为只读,但是当我在类方法中初始化值时没有设置器)?
问候, Apple92
iphone - 如何修复奇怪的保留计数(1 init - 3 retaincount)?+ 编辑:dealloc 问题
所以我的代码是这样的:
我得到:
如何解决这个烂摊子?我不明白我做错了什么,这部分有时会由于内存不足而导致应用程序崩溃。
编辑:相关问题。
所以情况和上面定义的一样,但问题是 ArticleControllerController 的 dealloc 方法永远不会被调用。
更多代码:
}
如果此方法重复多次 ArticleControllerController 创建大量各种界面元素,但它的 dealloc 方法永远不会释放它们(保留计数永远不会下降到零),所以我认为这就是我试图解决的内存崩溃问题现在几天。
那是怎么回事?我可以做更多的事情来解决这个问题吗?
iphone - UIViewController 保留问题:计数永远不会达到零
请看下面我的代码。这部分从堆栈中弹出顶视图控制器(通常相同ArticleControllerController
)(我发现无论是弹出单个控制器还是弹出到根控制器,问题都保持不变),创建新控制器并添加到堆栈中。
问题是,它的保留计数永远不会变为零,因此永远不会调用dealloc
of 方法,从而ArticleControllerController
使大量的各种接口对象未释放。由于内存不足,最终应用程序崩溃(至少在设备中,至少我认为这部分是主要问题)。
所以,我猜,popViewControllerAnimated 只发布了其余两个保留中的一个。为什么?我应该寻找什么?我能做些什么?打电话[ac release]
两次(那将是可怕的事情)?
objective-c - 如何为嵌套到结构的属性设置保留?
objc 中确实有一些我无法理解的东西。我知道如何制作可保留的属性,但不明白如何制作可保留的“子”结构字段,这些字段不是“公共”属性,而只是“私有”属性(私有属性仅由我的方法管理)。
这是我的代码:
我希望每次在我的方法中分配插槽名称(结构中的插槽名称)时都保留它,但这不是一个属性,因为从外部看不到。
例如,每次我用另一个 NSString 初始化它时,我都会这样做:
我真的觉得这不是一种“好”(不优雅)的做事方式。
我想我应该删除 _device_descriptor 结构并有这样的东西:
但这并没有更好,因为我没有在结构中收集常见的东西......
有没有更聪明的方法?
问候,弗兰兹
iphone - 使用@synthesize 如何实现retain setter?
我在标题中有以下内容:
在实施中:
然后:
tempOverlay
上面的变量不是不必要的吗?我不能这样做:
forms - 将表单提交到 Servlet 后,如何在 JSP 中保留 HTML 表单字段值?
在从 HTML 中提交数据后,servlet 将这些数据添加到我的数据库并将结果消息转发到 JSP 页面。我想在转发之后保留表单中最初提交的值。
在 servlet 中创建一个对象并添加我收到的所有参数并将其与请求一起发送到 JSP 是否明智?还有其他更好的方法吗?
iphone - 将@Property UISwitch 添加到 TableView 会导致 RetainCount 问题
我正在使用 UISwitchs 和 UITextFields 执行此操作...
我已在头文件中将 UISwitch 声明为属性,因为我想在我的类中通过几种不同的方法访问它的值。
我正在使用以下代码将 UISwitch 添加到我的 TableViewCell 之一:
事实上,retainCounts 无处不在。将单元格放在屏幕上时,mySwitch Retain 为 2,每次我点击开关时,保留计数都会增加,直到达到 4,然后它似乎就停留在那里。
显然我错过了一些东西。如果有人能指出我正确的方向,将不胜感激。
iphone - Objective C,内存管理
1)使用retain的原因是什么?
例如,在 setter 方法中:
2)自动释放方法:是删除旧对象还是准备新对象?
3) 为什么在输入对象处调用保留方法?
将
是错的?为什么?
objective-c - 关于在属性中保留属性的问题
客观的 C 文档说关于属性中的保留属性:
保留 指定在分配时应在对象上调用保留。(默认为分配。)先前的值被发送释放消息。
UITableViewCell
我以为我理解了属性和属性,直到我在参考指南中看到这样的内容:
然后读到上面真的让我很困惑。
我的问题:
1)假设我有:
然后在实现文件中:
这不会增加“b”指向的对象的保留计数对吗?我现在对此感到困惑,因为目标 C 文档说:
保留 指定在分配时应在对象上调用保留。(默认为分配。)先前的值被发送释放消息。
2)如果以上是正确的,那么当setter被调用正确时,retain属性只会增加retain count?
3) 我在某些地方听说过在其自己的初始化程序中调用对象的 setter 方法是不好的。为什么?对我来说,如果你这样做不好,那么你必须这样做:
考虑到您已经从b
.
4)在上面的例子中也有@property (retain, readonly) SomeObject *t;
类似的东西。UITableViewCell
“readonly”表示没有合成吸气剂。如果我对“保留”的理解是正确的(即它只发生在二传手中),那么这似乎真的很矛盾。