在NSMutableArray中添加c ++对象

Sar*_*ati 5 iphone objective-c ios

我有MeetingUser c ++类new_meetingUser是它的对象

我想在NSMutableArray meetingUsersList中添加它,我使用NSValue,但我不知道如何处理对象的内存和NSMutableArray的所有权.

MeetingUser *new_meetingUser = new MeetingUser(userName, dispName );
[meetingUsersList addObject:[NSValue valueWithPointer:new_meetingUser]];
Run Code Online (Sandbox Code Playgroud)

Tom*_*ing 3

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

如果您希望数组获得对象的所有权,那么您将必须使用CFMutableArray. CFMutableArray允许您指定从数组中删除对象或释放数组时调用的函数。在您的情况下,您想要设置对对象CFMutableArray进行调用 。delete