seguridad restaurar respaldo para otro error copia como anterior iphone objective-c copy nsmutablestring

respaldo - restaurar iphone



problema en la secuencia de copia para otra clase (4)

En mi aplicación, estoy enviando una solicitud al servidor web y obteniendo algunos resultados, luego estoy analizando este resultado y almacenando esta cadena de resultados en otra cadena de objetos de clase.

Por ejemplo:

@interface GraphView : UIViewController<UITabBarControllerDelegate> { NSMutableString *graphTempString; } @property(nonatomic,retain) NSMutableString *graphTempString; @end

TSUClass .m

implementing NSURLConnection(), connectionDidFinishLoading(), -(void) parser:(NSXMLParser *) parser didStartElement:(NSString *) elementName namespaceURI:(NSString *) namespaceURI qualifiedName:(NSString *) qName attributes:(NSDictionary *) attributeDict() -(void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName { if( [elementName isEqualToString:@"statusTEResult"]) { tempString=soapResults; if (grpahCall == YES) { graphViewController=[[GraphView alloc]init]; graphViewController.graphTempString=tempString; [self.navigationController pushViewController:graphViewController animated:YES]; }

Cuando estoy depurando puedo ver el valor de graphViewController.graphTempString pero después de ir a GraphView, no puedo ver los valores.

Espero que alguien sepa cómo resolver este problema.


¿Qué sucede si agrega algunas declaraciones NSLog?

if (grpahCall == YES) { graphViewController=[[GraphView alloc]init]; NSLog(@"-%@-", tempString); graphViewController.graphTempString=tempString; NSLog(@"-%@-", graphViewcontroller.graphTempString); [self.navigationController pushViewController:graphViewController animated:YES]; }

Esperaría ver la misma salida dos veces? ¿Puedes decirme qué obtienes en la consola?


@Pooja te sugiero que intentes hacer esto haciendo que una variable en la clase AppDelegate dé tu resultString a esta variable y luego obtengas el valor de esta variable en tu 2ndClass o en cualquier clase que desees ..... nunca obtendrás valor nulo .

Supongamos que el objeto de su clase AppDelegate es appDelegate y la variable cuyo tipo de NSString es lets stringValue . Luego, en tu clase, donde obtendrás el resultString , resultString haz esto.

appDelegate.stringValue = resultString;

Y en tu clase 2ndClass toma el valor de esta variable como esta.

tempString = appDelegate.stringValue;

Obtendrás los datos ..... Espero que tengas mi punto.

¡Buena suerte!


Forma fácil de pasar el valor

[[NSUserDefaults standardUserDefaults]setObject:resultString forKey:@"resultString"]; [[NSUserDefaults standardUserDefaults] synchronize];

y en otra clase use este valor como este

NSString *resultString=[[NSUserDefaults standardUserDefaults]valueForKey:@"resultString"];

o puedes hacerlo así

graphViewController.graphTempString=self.tempString;


puedes intentar

2nClassObj.tempString =[NSString stringWithFormat:@"%@",resultString];

buena suerte