Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/38.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
Iphone 我有cellForRowAtIndexPath方法的问题_Iphone_Objective C_Ios_Uitableview - Fatal编程技术网

Iphone 我有cellForRowAtIndexPath方法的问题

Iphone 我有cellForRowAtIndexPath方法的问题,iphone,objective-c,ios,uitableview,Iphone,Objective C,Ios,Uitableview,我是iOS开发新手,在UITableView的cellforrowatinexpath方法方面有一些问题 在我的应用程序中,UITableView中有多行。当我想查看每一行时,显然我需要滚动UITableView。同样在UITableView中,我向每个UITableView单元格添加了UITextField。当我增加价值时 当我想编辑UITextField的值并在数据库中添加TextField的值时,问题就产生了 问题:-若要在数据库中添加TextField的所有可编辑值,则必须将UITabl

我是iOS开发新手,在
UITableView
cellforrowatinexpath
方法方面有一些问题

在我的应用程序中,
UITableView
中有多行。当我想查看每一行时,显然我需要滚动
UITableView
。同样在
UITableView
中,我向每个
UITableView单元格添加了
UITextField
。当我增加价值时 当我想编辑
UITextField
的值并在数据库中添加TextField的值时,问题就产生了

问题:-若要在数据库中添加TextField的所有可编辑值,则必须将
UITableView
向上向下滚动。如果不滚动,则不可见的文本字段不是外接程序数据库:(在我的应用程序中,添加和编辑与我传递的ID位于同一个
UIViewController
中。

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

那么,请帮助我如何解决我的问题

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

例如:

我有两个UIViewController。

1-FirstViewController 2-第二视图控制器

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


提前感谢:)

然后实现如下所示

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

然后,当每次加载
tableView
textField
时,从字典中读取值并显示

textfieldDiEnd
textFieldDidChange
代理中,使用相同的键从
textField
获取数据并保存/存储回词典。这一次,它只是替换了您知道的旧值

最后,只需在
backAction
viewwilldiscover
方法中将所有字典值保存到数据库中即可


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

为什么不将可见文本字段添加到数据库中,并在滚动时再次添加可见文本字段。您需要ID来区分不同的文本字段(也许您可以使用TableViewCell的reuseIdentifier)。当我处于编辑模式时,整个值将存储在不同的UITextField中,这些UITextField是UITableViewCell的子视图。我只能显示TextField的一些值。如果我只编辑TextField的第一个值,则TextField的不可见值不会添加到数据库中。在进入编辑模式之前,请将所有值保存到数据库中。编辑一些文本字段后,只需修改数据库。这能解决问题吗?我已经做了:)但它不起作用…主要的一点是UITableView的滚动:(这不是scrollView或UITableView的问题..这纯粹是一个数据管理或数据处理问题..您能告诉我们如何维护要在tableView上显示的数据吗?&tableView中的每一行对应于数据库表中每一行的一个对象。。?