2012-02-29 30 views
0

私のCocoaアプリケーションの引数をNSString形式に変換する際に問題があります。私はそうのように自分のアプリケーションを起動します。charを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"です。

どうすればこの問題を解決できますか?

+3

NSLog(@ "%@"、h_path); 'ではありませんか? –

+0

@Robert、そうです、元の 'const char *'を '%s'で表示します。 – mpontillo

答えて

5

%sは、C文字列を意味します。 の代わりに%@を使用してNSString(および他の基盤の種類)をNSLogに出力する必要があります。

+0

ありがとうayoy - 私はルーキーミスを犯した。 – Abs

関連する問題