Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >处理从可可方便返回的对象

处理从可可方便返回的对象
EN

Stack Overflow用户
提问于 2008-11-01 09:48:26
回答 4查看 981关注 0票数 1

由于NSDate对象过早地被释放,我遇到了很多问题。我怀疑这些问题可能与我处理从NSDate方便方法返回的对象的方式有关。我认为我在showDate类中的JKShow属性声明应该“保留”,但将其更改为赋值或复制似乎对此问题没有任何影响。

代码语言:javascript
运行
AI代码解释
复制
JKShow *show; 
NSDate *date;
NSMutableArray *list = [[NSMutableArray alloc] init];

// Show 1
show = [[JKShow alloc] init];
//...
date = [gregorian dateFromComponents:dateComponents];
show.showDate = date;
[list addObject:[show autorelease]];

// Show 2
show = [[JKShow alloc] init];
//...
date = [gregorian dateFromComponents:dateComponents];
show.showDate = date;
[list addObject:[show autorelease]];

更新

问题不在这里复制的代码中。在我的JKShow init方法中,我没有保留从NSDate方便方法返回的日期。谢谢你们的帮助,各位。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2008-11-01 11:21:09

我想明白了,谢谢你的帮助,但问题不在我在这里发布的代码之外。我没有保留我在init方法中创建的NSDate。不幸的是,直到我创建了两个新的NSDate对象之后,才发生了崩溃,所以我完全搞错了。

票数 0
EN

Stack Overflow用户

发布于 2008-11-01 10:03:48

从dateFromComponents返回的日期应该在自动释放池中,因此您的showDate属性应该“保留”是正确的。事实上,它应该是无论如何(除非你特别想要“复制”)。

从您已经显示的代码来看,它看起来像是将显示对象的所有权完全交给了列表(当您添加它们时,您正在设置它们的自动发布)。您是说在显示对象从列表中出来(或者列表正在被取消分配)之前,日期对象正在被解除分配吗?

此外,您是使用综合属性,还是手工编写这些属性?如果是后者,您的setShowDate属性方法是什么样的?

您也可以尝试在不同的位置记录date对象的retainCount (尽管我总是发现自动发布确实使这件事复杂化了)。

票数 2
EN

Stack Overflow用户

发布于 2008-11-01 10:10:26

如果showDate是一个保留属性,那么根据您发布的代码,该属性应该足够了。其他的东西(可能在JKShow的实现中)可能不正确。

如果您想知道发生了什么,您可以使用仪器来查看对象的寿命。您需要使用配置工具来运行它,以便记住、保留和发布。默认情况下,如果运行泄漏性能工具,就会以这种方式设置它。

当您运行像这样的工具时,它将记录所有对象的生命周期,以及针对它们发出的每一个保留和发布的回溯。如果您查看对象,找到您的日期之一,并查看所有保留和释放,您应该能够确定虚假发布发生在哪里。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/255846

复制
相关文章
对象的传值与返回
对象的传值与返回 说起函数,就不免要谈谈函数的参数和返回值。一般的,我们习惯把函数看作一个处理的封装(比如黑箱),而参数和返回值一般对应着处理过程的输入和输出。这种情况下,参数和返回值都是值类型的,也就是说,函数和它的调用者的信息交流方式是用过数据的拷贝来完成,即我们习惯上称呼的“值传递”。但是自从引入了“引用”的概念后,函数的传统模型就不再那么“和谐”了。引用的传递可以允许函数和调用者共享数据对象,它们之间的信息交流不再使用信息拷贝的方式,而是使用更有效率的信息共享的方式,引用导致函数的参数并有输入和输出
Florian
2018/02/05
2.7K0
对象的传值与返回
flask 返回response对象
from flask import Flask from flask import make_response
用户5760343
2019/07/07
1.7K0
mybatis返回对象_存储过程不能返回结果
在更多的了解mybatis后发现不单单通过实体类可以直接返回数据,还可以直接返回一个Map结果集(resultType=”java.util.Map”) ,如果是多条数据则返回一个List<Map<String, Object>>结果集。
全栈程序员站长
2022/11/09
1.8K0
mybatis返回对象_存储过程不能返回结果
方便的 Python:扩展方便
一个资深程序员写的代码,要能让新人看懂,一个大师级程序员写的代码,能让 CS 专业的大一学生看懂。写的代码不仅要追求性能优功能强,还有一个重要的特质——方便易懂。所以本文是「方便的 Python」的其中一个主题,拓展方便。
用户4945346
2022/11/08
3260
方便的 Python:扩展方便
返回对象的序列化实现
问题产生: 近来在写代码的时候,有一个返回的vo对象中,有一个属性是带有xml标签的,而页面展示的内容需要将xml标签转换成html标签进行展示,所以实现了一个工具类,然后再返回的地方调用一下工具类,但是随着使用的地方越来越多,每一次改动修改的地方太多,故查询后找了另外的实现逻辑.
用户4235284
2022/12/03
1.1K0
SpringBoot返回枚举对象中的所有属性以对象的形式返回(一个@JSONType解决)
最近小编在开发中遇到个问题,就是关于枚举方面的使用。一些固定不变的数据我们可以通过枚举来定义,减少对数据库的查询。是一种常见的开发技巧!
掉发的小王
2022/07/11
4K0
mybatis返回结果处理
当查询的记录条数是多条的时候,必须使用集合接收。如果使用单个实体类接收会出现异常。如果返回的是一条记录可以用集合接收
一个风轻云淡
2023/10/15
2820
mybatis返回结果处理
全局响应返回处理
上代码: import io.github.vampireachao.stream.core.optional.Opp; import org.springframework.core.MethodParameter; import org.springframework.http.MediaType; import org.springframework.http.converter.HttpMessageConverter; import org.springframework.http.server
阿超
2022/08/21
5030
Spring 的这个工具类操作对象类型真是方便
通常我们想获取一个类型的信息都要通过 Java 反射从对应的Class类型中来获取信息,API 非常地底层,操作也十分繁琐。ResolvableType的出现简化了这一过程,文章的开头就是ResolvableType通过其静态方法来描述了一个带泛型的类型OAuth2UserService<OAuth2UserRequest, OAuth2User>,然后就可以从Spring IoC中获取对应的Spring Bean。那么它还有其它那些功能呢?
码农小胖哥
2021/01/04
1.2K0
Spring 的这个工具类操作对象类型真是方便!
通常我们想获取一个类型的信息都要通过 Java 反射从对应的Class类型中来获取信息,API 非常地底层,操作也十分繁琐。ResolvableType的出现简化了这一过程,文章的开头就是ResolvableType通过其静态方法来描述了一个带泛型的类型OAuth2UserService<OAuth2UserRequest, OAuth2User>,然后就可以从Spring IoC中获取对应的Spring Bean。那么它还有其它那些功能呢?
macrozheng
2021/01/06
8460
Golang 函数返回类型是接口时返回对象的指针还是值
Interface 是一组抽象方法(未具体实现的方法,仅包含方法名参数返回值的方法)的集合,如果实现了 interface 中的所有方法,即该类型就实现了该接口。
恋喵大鲤鱼
2019/06/14
8.3K0
socket读写返回值的处理
在调用socket读写函数read(),write()时,都会有返回值。如果没有正确处理返回值,就可能引入一些问题 总结了以下几点 1当read()或者write()函数返回值大于0时,表示实际从缓冲区读取或者写入的字节数目 2当read()函数返回值为0时,表示对端已经关闭了 socket,这时候也要关闭这个socket,否则会导致socket泄露。netstat命令查看下,如果有closewait状态的socket,就是socket泄露了 当write()函数返回0时,表示当前写缓冲区已满,是正常情况,
2018/01/17
3.4K0
app首页返回键处理
<script type="text/javascript" src="static/js/mui.js"></script> <script type="text/javascript"> mui.plusReady(function() { //首页返回键处理 //处理逻辑:1秒内,连续两次按返回键,则退出应用; var first = null; plus.key.addEventListener('backbutton', function() { //首次按键,提
biaoblog.cn 个人博客
2022/08/11
4140
关于fragment的getActivity()返回null的处理
在fragment的使用中经常要使用getActivity获取依附的activity,但在某些情况下回返回null,如果不加处理可能会因空指针异常导致程序崩溃.所以建议每次使用getActivity方法都需检查一下.
夏洛克的猫
2018/10/18
3.2K0
REST API返回结果对象设计
基于REST API的项目返回的数据结构题都是统一的,这样方便接口对接和使用。因此,对结果对象的设计会有一定的要求:
程序新视界
2021/12/07
1.1K0
MyBatis 封装Map,返回不同实体的集合对象
  1.现在有一个需求,就是从100个表中获得任意表中的数据,按照正常的思维模式和处理方式,
Arebirth
2019/09/24
2.4K0
多个Promise对象的处理
如果某件事情需要依照多个对象完成后才能执行,那么我们可以使用Promise.all来管理,将这些状态全部执行完毕后才执行下一个!
十月梦想
2018/10/09
1.1K0
浅析 SpringMVC 中返回对象的循环引用问题
「技术分享」某种程度上,是让作者和读者,不那么孤独的东西。欢迎关注我的微信公众号:「Kirito的技术分享」
kirito-moe
2021/07/16
6.1K0
ajax返回JSON时的处理方式
JSON中对象通过“{}”来标识,一个“{}”代表一个对象,如{“AreaId”:”123”},对象的值是键值对的形式(key:value)。
全栈程序员站长
2022/07/08
2.5K0
点击加载更多

相似问题

可可脚本:从“重复”命令返回克隆对象

26

是否保留从NSUserDefaults返回的可可触摸保留对象?

10

什么是方便构造函数。是否需要保留方便构造函数返回的对象?

21

处理可可时区

14

可可:行动处理

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档