在iOS中,出于安全原因,如何从内存中删除字符串?它是需要的还是由iOS自己处理

在iOS中,出于安全原因,如何从内存中删除字符串?它是需要的还是由iOS自己处理,ios,objective-c,swift,iphone,securestring,Ios,Objective C,Swift,Iphone,Securestring,出于安全原因,我希望确保用户输入的密码文本在使用后不会保留在内存中我认为它会自动从内存中删除,因为Swift实现了ARC概念,在iOS中没有垃圾收集。即使在Objective-C now中,autorelease命令也不能在方法调用时以编程方式调用,因为ARC已经处理了它 根据Swift文件: 内存管理对象 从注释的API返回的核心基础对象是在SWIFT中自动管理的内存,不需要调用CFRetain、cFrRelyor或cFututelLead函数。 据我所知,斯威夫特并不保证一旦内存被释放会发生

出于安全原因,我希望确保用户输入的密码文本在使用后不会保留在内存中

我认为它会自动从内存中删除,因为Swift实现了ARC概念,在iOS中没有垃圾收集。即使在Objective-C now中,autorelease命令也不能在方法调用时以编程方式调用,因为ARC已经处理了它

根据Swift文件:

内存管理对象

从注释的API返回的核心基础对象是在SWIFT中自动管理的内存,不需要调用CFRetain、cFrRelyor或cFututelLead函数。


据我所知,斯威夫特并不保证一旦内存被释放会发生什么。如果您想确保密码数据在内存中不可读,您应该自己将其归零


在苹果的开发论坛上讨论得很好:

将密码发送到服务器进行验证后,您可以从文本字段和变量中删除字符串,在数据库保存方法的回调中,只需执行
yourTextFiel.text=nil
@AlejandroL.Rocha我相信这不会从内存中删除数据