Ios 如何在NSUserDefault中删除一组NSData
我为连接到iOS设备的外围设备存储了一些设置,但我想为用户添加一个按钮来删除此外围设备,这意味着我必须删除与此外围设备相关的所有设置 使用NSData进行存储非常简单:Ios 如何在NSUserDefault中删除一组NSData,ios,nsuserdefaults,nsdata,Ios,Nsuserdefaults,Nsdata,我为连接到iOS设备的外围设备存储了一些设置,但我想为用户添加一个按钮来删除此外围设备,这意味着我必须删除与此外围设备相关的所有设置 使用NSData进行存储非常简单: NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; NSData *encodedObject = [NSKeyedArchiver archivedDataWithRootObject:self.appDelegate.defaultBTServe
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSData *encodedObject = [NSKeyedArchiver archivedDataWithRootObject:self.appDelegate.defaultBTServer.selectPeripheralInfo];
[defaults setObject:encodedObject forKey:self.appDelegate.defaultBTServer.selectPeripheralInfo.uuid];
[defaults synchronize];
但是如何删除与此selectPeripheralInfo.uuid相关的设置?
我找到了
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults removeObjectForKey:application.defaultBTServer.selectPeripheralInfo.uuid];
无法工作。看起来您可能没有使用相同的键来添加和删除数据。要添加,请使用:
self.appDelegate.defaultBTServer.selectPeripheralInfo.uuid
application.defaultBTServer.selectPeripheralInfo.uuid
但要删除您使用的数据,请执行以下操作:
self.appDelegate.defaultBTServer.selectPeripheralInfo.uuid
application.defaultBTServer.selectPeripheralInfo.uuid
如果这些表达式的值不完全相同,您将无法删除添加的数据,因为很明显,键是错误的。那么,检查一下
另外,请确保在删除后调用[defaults synchronize]
以更新存储中的默认值