我有问题的cellForRowAtIndexPath方法

时间:2012-09-26 02:07:15

标签: iphone objective-c ios uitableview

我是iOS开发的新手,我对cellForRowAtIndexPath的{​​{1}}方法有一些问题。

在我的应用程序中,我在UITableView中有多行。当我想看到每一行时,显然我需要滚动UITableView。同样在UITableView我添加UITableView到每个UITextField。当我增加价值 在DataBase中的UITextField然后它正常工作,但是当我想编辑UITableViewCell的值并且我在DataBase中添加TextField的值时,则会创建问题。

问题: - 如果我想在DataBase中添加TextField的所有可编辑值,那么我必须要向上滚动UITextField。如果我不滚动,那么不可见的TextField不会添加到DataBase中:( 这里的我的应用程序添加和编辑基于我传递的ID在同一UITableView

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

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

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

例如:

我有两个UIViewController。

1 - FirstViewController   2 - SecondViewController

cellForRowAtIndexPath中的

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

提前致谢:)

1 个答案:

答案 0 :(得分:0)

然后实现如下所示

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

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

textFieldDidEndtextFieldDidChange代表处获取textField&使用相同的密钥保存/存储回您的字典。这次它只是替换旧值,如你所知。

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

如果不让我知道,这应该适合你。