Ja, såvitt jag kan bedöma så är det verkligen så. Följande snutt ger lite då och då någonting annat i slutet av strängen än en nolla:
const wchar_t* probe;
NSString* test;
test = [textField stringValue];
probe = (const wchar_t*)[test cStringUsingEncoding:NSUTF32StringEncoding];
NSAssert(probe, @Null);
if(probe[[test length] + 1] != 0){
NSLog(@Not zero);
}
textField är en NSTextField i en simpel dialogruta. Man måste köra snutten först med en lång sträng och sedan en kortare i textrutan för att provocera fram felet.
Får samma beteende för NSUTF8StringEncoding och NSASCIIStringEncoding.
Som alltid är det mycket möjligt att jag har sluntit på tangenterna och/eller inte läst manualen ordentligt. Hojta gärna i så fall!
Men originalfrågan kvarstår: Vad tycker Apple att man ska använda?