我无法将参数转换为我的Cocoa应用程序的NSString格式。我这样开始我的应用程序:
open my.app --args a1 a2
我尝试像这样访问参数:
const char *h_path_char = [[[[NSProcessInfo processInfo] arguments] objectAtIndex:1] fileSystemRepresentation];
const char *s_path_char = [[[[NSProcessInfo processInfo] arguments] objectAtIndex:2] fileSystemRepresentation];
NSString *h_path = [NSString stringWithUTF8String:h_path_char];
NSString *s_path = [NSString stringWithUTF8String:s_path_char];
NSLog(@"%s", h_path);
NSLog(@"%s", s_path);
然而,Xcode抱怨NSLog
并发出以下警告:
转换指定类型“char”,但参数的类型为“NSString”。
我怎样才能克服这个?
答案 0 :(得分:7)
%s
适用于C字符串。您应该使用%@
代替%s
将NSString
(以及其他基金会类型)输出到NSLog
。