unichar
это не объект ObjC, это примитивный тип C (или typedef) для одного символа юникода.Вам нужно вызвать метод NSString (который может принимать несколько символов в C-подобном массиве) следующим образом:
NSString * codedLetter = [NSString stringWithCharacters:&ch length:1];
(в вашей строке кода есть две проблемы: во-первых, вы 'передается значение unichar
в качестве первого аргумента вместо указателя на него и второго, который вы пытаетесь вызвать -length
для чего-то, что не является объектом ObjC или даже указателем.из-за последнего, когда он пытается отправить сообщение на некоторый случайный адрес памяти.)