0

我是 iOS 开发的新手,我有cellForRowAtIndexPath一些UITableView.

在我的应用程序中,我有多行UITableView。当我想查看每一行时,显然我需要滚动UITableViewUITableView我也添加UITextField到每一 行UITableViewCell。当我在数据库中添加 UITextField 的值时,它可以正常工作,但是当我想编辑的值UITextField并且我在数据库中添加 TextField 的值时,就会产生问题。

问题:- 如果我想在数据库中添加 TextField 的所有可编辑值,那么我必须向上滚动UITableView到向下。如果我不滚动,那么不可见的 TextField 不会添加到数据库中:(在我的应用程序中,添加和编辑UIViewController基于我传递的 ID 相同。

通过谷歌搜索,我还发现cellForRowAtIndexPath并非所有行都调用它。它仅对可见行调用,然后在用户滚动到其他行时调用它们。旧行在离开屏幕时也会被销毁,如果用户向上滚动,它将再次请求单元格。

所以,请帮助我如何解决我的问题,

编辑更容易理解我的问题:

例如 :

我有两个 UIViewController。

1 - FirstViewController 2 - SecondViewController

FirstViewController显示名称的所有列表中UITableView,它有两个选择,要么选择名称,UITableView要么通过点击 BarButton 添加新数据UINavigationBar。这两个处理的添加和编辑都是在名为 SecondViewController 的同一个 ViewController 中完成的。数据(或值) Add bySecondViewController工作正常但是当我从 FirstViewController 中选择任何行(或名称)时,相关的 ID 将传递给SecondViewController并且所有信息都基于 ID 显示在 TextField 上。这里所有的值都是从 DATABASE 中获取的,我将它存储到NSMutableDictionary然后通过访问字典的 KEY 存储在 textField 中。但值存储在可见的 TextField 中。即使我从 DATABASE 获得,不可见的 TextField 也不存储值。所以我必须先滚动 UITableView。

提前致谢 :)

4

1 回答 1

0

然后像下面给出的那样实现

通过在接口或文件中声明,获取数据库值并将其存储NSMutableDictionary并通过 out 访问。.h

然后,当您每次tableViewtextField加载时从字典中读取值并显示。

并在您textFieldDidEndtextFieldDidChange委托中使用相同的键从您的字典中获取数据textField并保存/存储回您的字典。这一次它只是替换了你知道的旧值。

最后,只需将所有字典值保存到您的数据库中backActionviewWillDisappear方法。

如果不让我知道,这应该对你有用。

于 2012-09-26T17:41:48.623 回答