Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 保存用户名&;通过目标C_Objective C_Database_Iphone_Save - Fatal编程技术网

Objective c 保存用户名&;通过目标C

Objective c 保存用户名&;通过目标C,objective-c,database,iphone,save,Objective C,Database,Iphone,Save,我有一个文本字段 号码和密码 我不知道如何保存这些设置,然后在应用程序开始检查这些设置是否已设置时读取它们 谢谢 要保存,请执行以下操作: [[NSUserDefaults standardUserDefaults] setValue:_email forKey:@"email"]; [[NSUserDefaults standardUserDefaults] setValue:_password forKey:@"password"]; [[NSUserDefaults standardUse

我有一个文本字段

号码和密码

我不知道如何保存这些设置,然后在应用程序开始检查这些设置是否已设置时读取它们

谢谢

要保存,请执行以下操作:

[[NSUserDefaults standardUserDefaults] setValue:_email forKey:@"email"];
[[NSUserDefaults standardUserDefaults] setValue:_password forKey:@"password"];
[[NSUserDefaults standardUserDefaults] synchronize];
全文如下:

_email = [[NSUserDefaults standardUserDefaults] stringForKey:@"email"];
_password = [[NSUserDefaults standardUserDefaults] stringForKey:@"password"];
就你而言:

[[NSUserDefaults standardUserDefaults] setValue:Number.text forKey:@"Number"];
以及:

“键”通常是硬编码的,其工作原理类似于存储中事物的“变量名”(典型的名称/值对,如字典)

检查是否设置了该值;读完后:

if (number) ...

敏感信息应存储在钥匙链中,钥匙链是设备上加密的安全位置。如果将用户名和/或密码保存在
NSUserDefaults
中,则将其保存为纯文本,这本身就是不安全的

互联网上有很多关于如何在iPhone上使用钥匙链的例子,包括在代码中使用的简单包装。例如,下面是Github上的一些非常好的代码,使它变得非常简单:


因此,对于名为Number的文本字段(它是一个iboutlet),我将使用以下内容:[[NSUserDefaults standardUserDefaults]setValue:\u Number-forKey:Number.text];[[NSUserDefaults standardUserDefaults]设置值:_passwordforkey:password.text];[[NSUserDefaults standardUserDefaults]同步];通常“钥匙”是硬编码的。。。这有点像您存储的值的“变量名”。。。这样地。。。[[NSUserDefaults standardUserDefaults]设置值:Number.text forKey:@“Number”];这有意义吗?这会起作用,但不安全。你应该在钥匙链中存储敏感信息。哦,我明白了,我需要等3分钟才能接受答案,所以我不想再回答了(顺便说一句:)@sw12345你可以轻松打开某人的iPhone备份,并从明文NSUserDefaults文件中删除密码。使用钥匙链。这是比我更好的答案。谢谢你的信息。当然,任何开发人员都应该确定他们自己的应用程序需要多少安全性,并了解使用密钥链的缺点(模拟器支持、设置应用程序支持、增加的复杂性和开发时间)。
if (number) ...