通过应用程序委托从表格视图控制器更改单元格内的值

Posted

技术标签:

【中文标题】通过应用程序委托从表格视图控制器更改单元格内的值【英文标题】:Changing values inside a cell from a table view controller through the app delegate 【发布时间】:2016-12-28 03:25:31 【问题描述】:

我正在开展一个项目,该项目使用地理围栏并在输入和退出这些地理围栏时存储某些数据,并希望在表格中显示这些数据。

我在我的应用委托中使用 didEnterRegion 和 didExitRegion 函数,并希望能够从这些函数中修改单元格,但我不太确定如何从应用委托中引用表格视图中的单元格。

如果我想更改引用单元格中的数据但不确定如何使用此方法从应用程序委托进行更改,我目前正在使用静态单元格并在与表视图控制器相关的类中建立 IBOutlet 连接。

我很高兴将整个方法完全改变为一个更好的方法,因为这目前对我不起作用,但如果有一种与我目前所做的相关的方法来做这件事(虽然不多,但我理解这种方法)。

谢谢!

【问题讨论】:

您能否提供代码或更具体的问题信息? 【参考方案1】:

进入和退出地理围栏时,您的表格视图单元格必须更改。

因此您的表格视图单元格需要根据其他类进行更改。

    使用将由表视图控制器调用的方法创建一个协议。

例子:

protocol GeoFenceDelegate 
    didEnter() -> Bool
    didExit() -> Bool

    创建一个类 GeoLocation 来处理所有地理围栏。

    GeoLocation符合GeoFenceDelegate

    您的表格视图控制器应该有一个 weak 引用指向 GeoFenceDelegate 指向 GeoLocation

    在您的cellForRowAtIndexPath 中调用GeoFence 的方法并相应地更新您的单元格。

    此外,当地理位置发生变化时,您可以在主线程上发布通知

    表格视图控制器可以观察这些通知并重新加载表格中的单元格

【讨论】:

以上是关于通过应用程序委托从表格视图控制器更改单元格内的值的主要内容,如果未能解决你的问题,请参考以下文章

通过单元格内 textView 的内容更改单元格高度

表格单元格内的滚动视图内的自定义视图未响应事件

表格视图单元格内的图像块并更改自动布局

UIPickerView + TableViewCell + 委托和数据源

将单元格插入表格时,自定义表格视图单元格内的图像视图消失

将数据从集合视图单元格内的表视图单元格传输到另一个集合视图单元格 [带图片!]