gpt4 book ai didi

iphone - Objective-C/iPhone 内存管理静态变量

转载 作者:太空狗 更新时间:2023-10-30 03:21:54 26 4
gpt4 key购买 nike

我有一个创建类实例并将其放入静态变量的静态方法。我想知道在这种情况下内存管理的正确方法是什么。

你不能把它放在 dealloc-method 中,因为虽然它可以访问静态变量,但 get 释放的任何创建的实例方法也会释放 sharedInstance。

我想可能有一个创建静态销毁方法的选项,该方法将手动释放内存并可以由用户从 appWillTerminate 调用,但这似乎有点奇怪。

那么,问题又来了:释放静态变量的正确方法是什么?


// MyClass.m
#import "MyClass.h"

static MyClass *myClass; // How to properly do memory management

@implementation MyClass

+ (MyClass *)sharedMyClass {
if (myClass == nil) myClass = [[MyClass alloc] init];
return myClass;
}
@end

最佳答案

您可以不释放它们,这很好,因为该应用程序无论如何都会关闭。 iPhone 上的 Cocoa 已经做到了这一点,它并没有完全删除所有内容,它只是让应用程序被吹走了。

或者您可以从 appWillTerminate 或其他一些关闭函数中删除它。

关于iphone - Objective-C/iPhone 内存管理静态变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1606854/

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