/ / nahradiť hodnotu NSString - iphone, Objective-C, NsString

nahradiť hodnotu NSString - iphone, cieľ-c, nsstring

Snažím sa nahradiť názov mesiaca v NSString názvom jeho dvojcifernej číselnej hodnoty, napr. „Január“ => „01“, „február“ => „02“. Prístup, ktorý používam, je nasledovný:

if (mois==@"january") { mois=@"01";}
if (mois==@"February") { mois=@"02";}

... ale nefunguje to. Ako urobím túto náhradu?

odpovede:

2 pre odpoveď č. 1

použi toto

if ([mois isEqualToString:@"january"]) { mois=@"01";}
if ([mois isEqualToString:@"February"]) { mois=@"02";}

7 pre odpoveď č. 2

if ([mois isEqualToString:@"january"]) je to, čo hľadáte.

Robíte to tak, že porovnávate ukazovatele a nie hodnoty v nich uložené, a preto ich má niekoľko tried v Objective-C isEqualTo: metódy.


1 pre odpoveď č. 3

Mal by si vyskúšať [mois isEqualToString:@"january"]


0 pre odpoveď č. 4

Používajte funkcie dátumu poskytované systémom iOS. Pozrite sa na NSDate a NSDateFormatter

Použitím funkcií dátumu môžete získať sadu SDKpreviesť názov mesiaca na kód mesiaca. To bude tiež znamenať, že sa nebudete musieť starať o to, či je mesiac v inom jazyku alebo ak je prípad iný, alebo či má namiesto „januára“ „Jan“ atď.


0 pre odpoveď č. 5

NSString je objekt z tohto dôvodu nemôžete používať mois == @ "január". Musíte použiť metóda jeEqualToString: (NSString *) aString.

Nicola.


-1 pre odpoveď č. 6

NSStringy sú nemenné, nie? Myslím, že musíte buď použiť NSMutableString, alebo použiť mois = [NSString stringWithString: @ "01"];

Dúfam, že to pomôže, Nathan