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ď č. 1použ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