2012年11月10日土曜日

[iOS][入門][初心者]NSStringまわりあれこれ


第2回はNSStringまわりの覚書。
さっきのメソッド間を維持する際に、NSStringとNSMutableString、NSArrayとNSMutableArrayを使ったので、その際にはまったところの覚書です。
基本重要なところつまみ食いします。

<NSString NSArray関係>
<参考>http://iphone-developer.sblo.jp/index-3.html
NSStringについて
数値と文字の変換
NSString → int
int num = [@"123" intValue];

int → NSString
NSString *str = [NSString stringWithFormat:@"%d", 123];

double → NSString
NSString *str = [NSString stringWithFormat:@"%f", 42.195];

toString
NSString *str = (NSString*)object;
これを使って、NSMutableArrayに含まれているデータ(double型)をNSStringにいれる
NSMutableArrayを使って、純粋に代入しようと思うと、 too many arguments to method call expected 1 have 2のエラーがでる。
@interface内でNSMutableArray *_mArray;
//mArrayにdouble型をセット。
                _mArray = [[NSMutableArray alloc]init];
  [_mArray addObject:[NSNumber numberWithDouble:nowLocation.latitude]];
  [_mArray addObject:[NSNumber numberWithDouble:nowLocation.longitude]];

//緯度をセット
        NSMutableString *sendLatitude =[[NSMutableString alloc] initWithString:@""];
 double dLatitude = [[_mArray objectAtIndex:0] doubleValue];
 NSString *dLatitudeLabel = [NSString stringWithFormat:@"%f", dLatitude];
 NSLOG(@"%f", dLatitude);
 [sendLatitude setString:dLatitudeLabel];
//経度をセット
        NSMutableString *sendLongitude = [[NSMutableString alloc] initWithString:@""];
 double dLongitude = [[_mArray objectAtIndex:1] doubleValue];
 NSString *dLongitudeLabel = [NSString stringWithFormat:@"%f", dLongitude];
 NSLOG(@"%f", dLongitude);
 [sendLongitude setString:dLongitudeLabel];
ちょっとまたRailsまわりに戻ります。
メソッド間のデータ保持ができるようになったので、少しですがまともになりましたw