Ios 停止调用cellForRowAtIndexPath

Ios 停止调用cellForRowAtIndexPath,ios,objective-c,iphone,uitableview,Ios,Objective C,Iphone,Uitableview,我的应用程序中有一个表格视图,其中每个单元格只包含一个文本视图。这些文本视图由存储在NSUserDefaults中的文本填充。用户可以更改文本,然后再次保存。NSUserDefaults中的文本数组(用于填充文本视图的文本)在viewDidLoad处加载。但是,单元格中文本视图的文本在cellforrowatinexpath中设置。问题是,当用户滚动tableview时,会调用CellForRowatineXpath,因此如果他/她在编辑其中一个文本视图和滚动时仍在键入,所有内容都会消失,因为调

我的应用程序中有一个表格视图,其中每个单元格只包含一个文本视图。这些文本视图由存储在NSUserDefaults中的文本填充。用户可以更改文本,然后再次保存。NSUserDefaults中的文本数组(用于填充文本视图的文本)在
viewDidLoad
处加载。但是,单元格中文本视图的文本在
cellforrowatinexpath
中设置。问题是,当用户滚动tableview时,会调用
CellForRowatineXpath
,因此如果他/她在编辑其中一个文本视图和滚动时仍在键入,所有内容都会消失,因为调用了
cellforrowatinedexpath
,并从
viewDidLoad
上加载的保存数据中设置了文本视图文本

所以..我想也许让
cellforrowatinexpath
只更改一次文本视图的文本(在应用程序启动时)就能解决问题,但事实证明,
cellforrowatinexpath
是为每个单元格单独调用的。所以它可以工作,但只加载第一个单元格的文本视图的文本,因为我只允许
cellforrowatinexpath
这样做一次


我的问题是:如何让
cellforrowatinexpath
仅在调用viewDidLoad时更改所有单元格的文本视图?或者我可以通过
viewDidLoad
方法为每个单元格设置textView的文本吗?这显然可以解决问题。

每当用户更改某个单元格中textview中的文本时,请立即将该文本保存到textArray中。现在,如果用户滚动离开,然后返回到该单元格-该单元格将包含更新的文本。然后,当用户在此屏幕中编辑完文本后,将所有更改保存到NSUserDefaults(例如,您可以将其保存在ViewWillEnglish中)。

我不确定您是否完全理解
UITableView
的工作原理
-cellforrowatinexpath
应该在每次表格需要新单元格时调用(这是滚动时的典型情况)。另外,您是否确定在
-viewDidLoad
之前调用了
-cellforrowatinexpath
?听起来不对。是的,我测试了它,在
-cellforrowatinexpath
之前调用了
viewDidLoad
。有什么建议可以帮助我解决这个问题吗?您需要以某种方式将更改后的数据保存在
UITableViewCell
中。您可以将其放置在阵列中并存储在内存中,或者如果您需要将其保存下来以备将来的会话使用,您可以将其保存到CoreData。关于
viewDidLoad
,我建议您查看Apple提供的view lifecycle文档。