From e9aca5562bac32648282397b8e8390fdb5e47336 Mon Sep 17 00:00:00 2001 From: cheney Date: Fri, 9 Aug 2019 19:03:44 +0800 Subject: [PATCH] =?UTF-8?q?fix=20=E6=95=B0=E6=8D=AE=E9=87=8F=E5=A4=A7?= =?UTF-8?q?=E6=97=B6=EF=BC=8Carray=E5=8F=AF=E8=83=BD=E4=B8=BA=E7=A9=BA?= =?UTF-8?q?=EF=BC=8C=E5=8F=AF=E8=83=BD=E4=BC=9Acrash?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit fix 数据量大时,array可能为空,可能会crash --- TraceUtility/main.m | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/TraceUtility/main.m b/TraceUtility/main.m index b78bed0..c67400f 100644 --- a/TraceUtility/main.m +++ b/TraceUtility/main.m @@ -143,6 +143,9 @@ int main(int argc, const char * argv[]) { [context display]; XRAnalysisCoreTableViewController *controller = TUIvar(context.container, _tabularViewController); XRAnalysisCorePivotArray *array = controller._currentResponse.content.rows; + if (!array) { + continue; + } XREngineeringTypeFormatter *formatter = TUIvarCast(array.source, _filter, XRAnalysisCoreTableQuery * const).fullTextSearchSpec.formatter; [array access:^(XRAnalysisCorePivotArrayAccessor *accessor) { [accessor readRowsStartingAt:0 dimension:0 block:^(XRAnalysisCoreReadCursor *cursor) { @@ -166,6 +169,9 @@ int main(int argc, const char * argv[]) { [context display]; XRAnalysisCoreTableViewController *controller = TUIvar(context.container, _tabularViewController); XRAnalysisCorePivotArray *array = controller._currentResponse.content.rows; + if (!array) { + continue; + } XREngineeringTypeFormatter *formatter = TUIvarCast(array.source, _filter, XRAnalysisCoreTableQuery * const).fullTextSearchSpec.formatter; [array access:^(XRAnalysisCorePivotArrayAccessor *accessor) { [accessor readRowsStartingAt:0 dimension:0 block:^(XRAnalysisCoreReadCursor *cursor) { @@ -197,6 +203,9 @@ int main(int argc, const char * argv[]) { for (XRTime time = 0; time < duration; time += NSEC_PER_SEC) { [controller setDocumentInspectionTime:time]; XRAnalysisCorePivotArray *array = controller._currentResponse.content.rows; + if (!array) { + continue; + } XREngineeringTypeFormatter *formatter = TUIvarCast(array.source, _filter, XRAnalysisCoreTableQuery * const).fullTextSearchSpec.formatter; [array access:^(XRAnalysisCorePivotArrayAccessor *accessor) { [accessor readRowsStartingAt:0 dimension:0 block:^(XRAnalysisCoreReadCursor *cursor) {