gpt4 book ai didi

iphone - 在 NSMutableArray 中添加 C++ 对象

转载 作者:可可西里 更新时间:2023-11-01 04:36:22 25 4
gpt4 key购买 nike

我有 MeetingUser C++ 类; new_meetingUser 是它的对象。

我想将它添加到 NSMutableArray meetingUsersList,这是我使用 NSValue 完成的。但是,我不知道如何处理对象的内存和 NSMutableArray 的所有权。

MeetingUser *new_meetingUser = new MeetingUser(userName, dispName );
[meetingUsersList addObject:[NSValue valueWithPointer:new_meetingUser]];

最佳答案

您可以像这样将 C++ 对象添加到数组中,但数组不会取得该对象的所有权。您必须确保该对象在数组中时不会被删除,否则它将成为悬空指针。然后,当您知道这样做是安全的时,您必须稍后手动删除该对象。

如果您希望数组拥有对象的所有权,那么您将不得不使用CFMutableArrayCFMutableArray 允许您指定从数组中删除对象或释放数组时调用的函数。在您的情况下,您希望将 CFMutableArray 设置为对对象调用 delete

关于iphone - 在 NSMutableArray 中添加 C++ 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10926310/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com