Grids: What is the correct way to reload a row of data with interdependent values?


#1

I made a post a while back: http://www.shinobicontrols.com/forum/shinobicontrols/2013/8/shinobidatagrid-reloadrows-causing-crash/

In it, I came to the conclusion that I needed to use reloadColumns  instead of reloadRow in order to get values on a row to update if another value changed. For example, let’s say one cell C depends on the values of two other cells, A and B. For simplicity’s sake, let’s say A + B = C. Whenever A changes,  I want the row to refresh so that C updates with the new value. The same goes for changing the value in B. My old solution was working until…

iOS 7

I have the latest Grids update (2.5.1,) but the problem persists. Even when I run my app on a 6.1 simulator, it is failing with this error every time cell A updates:

[SGridAutoCell prepareToAcceptEditEvents:]: message sent to deallocated instance 0x13684c70

I am calling reloadColumns at the end of -(void)shinobiDataGrid:(ShinobiDataGrid *)grid didFinishEditingCellAtCoordinate:(SDataGridCoord *)coordinate. What is the proper way to achieve this? Clearly this approach does not work well, particularly considering it doesn’t work at all now that iOS7 is in play.