我正在一个项目中,该项目使用地理围栏并在进入和退出这些地理围栏时存储某些数据,并希望在表中显示此数据。
我在我的应用程序委托中使用didEnterRegion和didExitRegion函数,并希望能够从这些函数修改单元格,但是我不太确定如何从应用程序委托中引用我的表格视图中的单元格。
如果我想更改引用单元格中的数据,但我目前正在使用静态单元格并在与表视图控制器相关的类中建立IBOutlet连接,但不确定如何使用此方法从应用程序委托中进行更改。
我很高兴将整个方法完全更改为一个更好的方法,因为该方法目前对我不起作用,但是我希望是否有一种方法可以与我目前所做的事情相关(尽管不多) ,但我了解这种方法)。
谢谢!
最佳答案
进入和退出地理围栏时,表视图单元必须更改。
因此,您的表视图单元格需要根据其他类进行更改。
使用将由表视图控制器调用的方法创建方法的协议。
例:
protocol GeoFenceDelegate {
didEnter() -> Bool
didExit() -> Bool
}
创建一个
GeoLocation
类来处理所有地理围栏。让
GeoLocation
符合GeoFenceDelegate
您的表视图控制器应具有指向
weak
的GeoFenceDelegate
的GeoLocation
引用在您的
cellForRowAtIndexPath
中,调用GeoFence
的方法并相应地更新单元格。此外,只要地理位置发生了变化,您都可以在主线程上发布通知
表格视图控制器可以观察这些通知并重新加载表格中的单元格
关于ios - 通过应用程序委托(delegate)从表 View Controller 更改单元格内的值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41354971/