2015-03-31 78 views
0

我正在开发基于uitableview的应用程序,其中不同选区的段和行号由核心数据中的数据确定。现在我需要一个保持用户选择的结构。将可解析字符串保存到核心数据中

要清楚,它的密码保存应用程序和用户可以保存他们的信息根据预先安装的模板。如下图所示,表格视图中显示了用于无线路由器和即时通讯软件选择的不同键值对。我把行信息为不同类型的核心数据,使得行可以动态地根据从核心数据值被加载...

typewireless routerinstant messngr

的应用是用于一个用户。用户可以更改任何行的值,包括标题标题中的行,例如“无线路由器”值...用户对行的值进行了一些更改并点击右上角的“保存”栏按钮后,第三行标签将被添加到下面,并将显示用户修改的这个新数据。

我的问题是我应该如何保持用户修改的新数据?

我的核心数据结构是;

core data

一个解决方案来在我心目中是保持值作为一个表可解析字符串,这是“SavedData”在图像上。

什么方法可以更适合解决我需要的。是否将键值对保存为一个表作为可解析的字符串......正确和高效?或者,还有更好的方法。

+0

如果你只是携带的密码,URL和用户名到下一个页面,将它们添加到NSUSerDefaluts,并保持一个标志,告诉U是否登录或注销,根据该标志,U可以呈现登录屏幕(这是如上所示) – sample 2015-03-31 21:30:39

+0

这对'CoreData'来说是巨大的矫枉过正。 'CoreData'意味着更多的数据库,在每个'Entity'下你会有多行。在这里,您可能有一两行(取决于用户是否注销并重新登录到另一个帐户),但是您为此引入了大量开销。使用'NSUserDefaults',这不值得为此执行'CoreData'。 – LyricalPanda 2015-03-31 22:05:25

+0

好的,我认为这个问题被误解了,我会编辑它。这确实不是登录实现。 – 2015-04-01 13:08:15

回答

0

NSUserDefaults是一个多功能的解决方案。它接受NSArray,NSData,NSDictionary,NSNumber,NSString。有很多不同的方法可以对此进行建模。如果您希望应用拥有多个用户,则可以存储用户名,密码和url的字典。如果用例只有一个用户而不是像这样的话,那么应该可以正常工作。顶线是保存,底线是从应用程序的任何位置读取。

[[NSUserDefaults standardUserDefaults] setObject:usernameTextField.text forKey:@"flickerUsername"]; 


NSString flickerUsername = [[NSUserDefaults standardUserDefaults] object ForKey:@"flickerUsername"]; 
+0

感谢您的回答,但它不是我正在寻找,编辑我的问题btw。 – 2015-04-01 23:50:04