0

2つの値を文字列に変換してから、以前に作成した値を含む新しい文字列を作成して、サービスがそれらを受け入れることができるようにしようとしています。

NSString *string1 = [ NSString stringWithFormat:@"%f", locationController.dblLatitude];
NSString *string2 = [ NSString stringWithFormat:@"%f", locationController.dblLongitude];



body = [[NSString stringWithFormat:@"geoX#%@#geoY#%@", string1, string2] dataUsingEncoding:NSUTF8StringEncoding];

これは私がatmを使用しているコードです。問題は、string1とstring2の両方に問題がないように見えるが、bodyという名前の文字列が機能していないように見えることです。

4

3 に答える 3

1

bodyNSStringここではインスタンスではありませんが、 NSData( `dataUsingEncoding:"を使用しているためです。システムログで刺し傷の連結を確認したい場合は、次のように記述してください。

NSString* bodyString = [NSString stringWithFormat:@"geoX#%@#geoY#%@", string1, string2];
NSData* bodyData = [bodyString dataUsingEncoding:NSUTF8StringEncoding];

次に、そのNSLog(@"Body: %@", bodyString);内容を確認してbodyData、httpリクエストを作成するために使用できます。

于 2012-10-09T09:13:41.933 に答える
1

bodyではありませんNSString; それはNSDataへのあなたの呼び出しのためdataUsingEncodingです。

于 2012-10-09T09:13:55.973 に答える
1

生データをログに記録しているだけなので、これが起こっていると思います。データから文字列を作成し、次のようにログに記録してみてください。

body = [[NSString stringWithFormat:@"geoX#%@#geoY#%@", string1, string2] dataUsingEncoding:NSUTF8StringEncoding];
NSString *string = [[NSString alloc] initWithData:body encoding:NSUTF8StringEncoding];
NSLog(@"%@",string);
于 2012-10-09T09:14:16.167 に答える