2010-06-03 5 views
1

Je ne sais vraiment pas une solution ou même une idée pour contourner le suite à une panne. Cela se produit uniquement dans la configuration de version sur le périphérique - Le simulateur et la configuration du débogage fonctionnent correctement. Il n'apparaît également que lors du deuxième lancement. Donc, si j'ai le téléphone connecté à mon mac, construire l'application et l'exécuter, tout fonctionne bien. Si je puis fermez l'application et redémarrez, il se bloque. Après de longues recherches, il semble que l'erreur vient de la ligne suivante:Crash Core-Plot seulement dans la configuration de la libération

x.majorIntervalLength = CPDecimalFromFloat(2.0f); 

Le code avant:

   CPLayerHostingView *chartView = [[CPLayerHostingView 
alloc] initWithFrame:CGRectMake(0, 0, 320, 160)]; 
       [self addSubview:chartView]; 
       // create an CPXYGraph and host it inside the view 
       CPTheme *theme = [CPTheme themeNamed:kCPPlainWhiteTheme]; 
       CPXYGraph *graph = (CPXYGraph *)[theme newGraph]; 
       chartView.hostedLayer = graph; 
       graph.paddingLeft = 20.0; 
       graph.paddingTop = 10.0; 
       graph.paddingRight = 10.0; 
       graph.paddingBottom = 20.0; 
       CPXYPlotSpace *plotSpace = (CPXYPlotSpace *)graph.defaultPlotSpace; 
       plotSpace.xRange = [CPPlotRange 
plotRangeWithLocation:CPDecimalFromFloat(0) 
                              length:CPDecimalFromFloat(100)]; 
       plotSpace.yRange = [CPPlotRange 
plotRangeWithLocation:CPDecimalFromFloat(0) 
                              length:CPDecimalFromFloat(10)]; 
       CPXYAxisSet *axisSet = (CPXYAxisSet *)graph.axisSet; 
       CPXYAxis *x = axisSet.xAxis; 
       x.majorIntervalLength = CPDecimalFromFloat(2.0f); 

Si je commente la dernière ligne, tout fonctionne très bien (hors cours du la longueur de l'intervalle n'est pas correcte). J'apprécierais toute aide! Merci d'avance!

+0

Comment ça plante? Est-ce qu'il lance une exception ou un crash sur un EXC_BAD_ACCESS? Pouvez-vous commencer avec les points d'arrêt sur et voir où il s'arrête dans la fonction CPDecimalFromFloat()? –

Répondre

1

Une chance CPXYAxis *x = axisSet.xAxis; est un x nil ou non conservé? Ce n'est pas vérifié.

+0

hmm, malheureusement pas. Je l'ai vérifié maintenant et c'est le bon objet avec les bonnes valeurs. – denbec

Questions connexes