Возможно, вы захотите получить в UTF-8 представление NSString
:
NSString *param = [paramsToPass objectAtIndex:0]
[class gseInit:&getData];
[class gseCom:[param UTF8String]];
NSLog(@"%@", param);
Однако это будет работать, только если gseCom:
равно , а не , обновляющему строку (т.е.параметр const char *
).Единственный способ узнать это - прочитать документацию по классу (вы не упоминаете, что это за класс, поэтому я не могу помочь в этом).
Если он не обновляет параметр, и gseCom
ошибочно определен как принимающий char *
, а не const char *
, тогда вы можете просто привести его к правильному типу:
[class gseCom:(char *)[param UTF8String]];
Однако, если он обновляет param
, тогда вы будетенужно дать ему буфер для работы:
[class gseInit:&getData];
NSString *param = [paramsToPass objectAtIndex:0]
// Create a buffer containing the c-string (in UTF-8)
#define BUFSIZ 256 // This size depends on what the string could hold
char cparam[BUFSIZ];
[param getCString:cparam maxLength:BUFSIZ encoding:NSUTF8Encoding];
// Let the method update the string
NSLog(@"before %s", cparam);
[class gseCom:cparam];
NSLog(@"after %s", cparam);