0

私のアプリでは、リクエストを Web サーバーに送信していくつかの結果を取得しています。次に、この結果を解析し、この結果文字列を他のクラス オブジェクト文字列に格納しています。

例えば:

@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];  
        }  

デバッグ中に値を確認できますが、graphViewController.graphTempStringGraphView に移動した後、値を確認できません。

誰かがこの問題を解決する方法を知っていることを願っています。

4

4 に答える 4

0

試してもらえますか

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

幸運を

于 2011-04-06T11:28:39.247 に答える
0

@Poojaクラス内の変数を作成して、この変数に渡してから、この変数から値をフェッチすることをお勧めしAppDelegateますresultString..2ndClass

AppDelegateあなたのクラスのオブジェクトがでappDelegateあり、タイプの変数NSStringが letsであるとしましょうstringValue。次に、resultStringこのようなことをしているクラスで。

appDelegate.stringValue = resultString;

そして、あなたの2ndClassクラスでは、この変数から次のように値を取得します。

tempString =  appDelegate.stringValue;

あなたはデータを取得します.....あなたが私の主張を理解してくれることを願っています.

幸運を!

于 2011-04-06T12:02:10.737 に答える
0

NSLog ステートメントをいくつか追加するとどうなりますか?

    if (grpahCall == YES) {
        graphViewController=[[GraphView alloc]init];

        NSLog(@"-%@-", tempString);
        graphViewController.graphTempString=tempString;  
        NSLog(@"-%@-", graphViewcontroller.graphTempString);

        [self.navigationController pushViewController:graphViewController animated:YES];  
    }

同じものが2回出力されると思いますか?コンソールに表示される内容を教えてください。

于 2011-04-06T13:30:35.370 に答える
0

値を渡す簡単な方法。

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

そして別のクラスでは、この値を次のように使用します

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

または、このようにすることもできます。

graphViewController.graphTempString=self.tempString; 
于 2011-04-06T11:22:57.417 に答える