Votre code a 2 problèmes:
1) "char datechar ..." est un caractère unique, qui ne contiendrait qu'un seul caractère/octet et ne contiendrait pas le tableau entier que vous produisez à partir de votre objet date/string. Par conséquent, votre ligne doit avoir un (*) devant la variable pour stocker plusieurs caractères plutôt que juste un.
2) Après le correctif ci-dessus, vous obtiendrez toujours un avertissement à propos de (char *) vs (const char *), par conséquent, vous devrez "lancer" car techniquement, ils sont les mêmes résultats. Changer la ligne de:
char datechar = [date UTF8String];
dans
char *datechar = (char *)[date UTF8String];
Avis (char *) après le signe =, indique au compilateur que l'expression retournerait un (char *) par opposition à c'est par défaut (const char *).
Je sais que vous avez déjà marqué la réponse plus tôt, cependant, j'ai pensé que je pourrais contribuer à expliquer les problèmes et à résoudre plus en détail.
J'espère que cela aide.
Cordialement Heider
UTF8String retourne un const char * –