natsuの秘密基地です
カレンダー
10 | 2024/11 | 12 |
S | M | T | W | T | F | S |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
カテゴリー
プロフィール
HN:
natsu
性別:
男性
趣味:
酒など
自己紹介:
ここに書かれていることはフィクションです。
×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
複雑なデータ型はやり取りする気はなくて、
数値と文字列があれば足りると思う。
配列は渡せると便利かもしれないけど、
結局タブ区切り文字列とかでやっちゃうんだと思う。
ばけらった。
普通にNSStringわたすってことは、
文字列を渡すというよりオブジェクトを渡すということなんだと思う。
NSStringはUTF16だっけ。その関係かも。
なので[s1 UTF8String], [s2 UTF8String]で渡すと、
NSString *result = [converter stringTest:[s1 UTF8String] str2:[s2 UTF8String] intNumber:1];
2010-05-08 15:29:15.831 Currency Converter[10359:903] あいうかきく1
実験してて気づいたけど、signature='@@:**i'でNSStringが受け取れた。
参考
Type Encodings
数値と文字列があれば足りると思う。
配列は渡せると便利かもしれないけど、
結局タブ区切り文字列とかでやっちゃうんだと思う。
オブジェクトはシリアライズして文字列で渡した方がいいと思う。
とりあえず、数値はやり取りできそうなので文字列をやり取りする方法を探ってみる。
-(NSString *)stringTest:(NSString *)s1 str2:(NSString *)s2 intNumber:(int)i
的なメソッド、
def stringTest_str2_intNumber_(self, s1, s2, i)
で実験。
動きは受け取った引数を全部連結して返す。
文字列返しで、文字列、文字列、数値なので
signature='*@:**i'でトライ。
なんか":"は最初の一個でいいのね。
この辺の法則はよくわかんないけど。
この辺の法則はよくわかんないけど。
Pythonのメソッド内でprintすると、
そのままコンソールに出してくれるのはとてもうれしい。
s1=@"あいう" s2="かきく"を出力したら、
そのままコンソールに出してくれるのはとてもうれしい。
s1=@"あいう" s2="かきく"を出力したら、
\340\363_p\377
\340\363_p\377
ばけらった。
普通にNSStringわたすってことは、
文字列を渡すというよりオブジェクトを渡すということなんだと思う。
NSStringはUTF16だっけ。その関係かも。
なので[s1 UTF8String], [s2 UTF8String]で渡すと、
あいう
かきく
OK
連結した文字列を受け取り、これは char * なので、NSStringに変換
NSString *result = [converter stringTest:[s1 UTF8String] str2:[s2 UTF8String] intNumber:1];
NSString *s3=[NSString stringWithCString:result encoding:NSUTF8StringEncoding];
NSLog(s3)
2010-05-08 15:29:15.831 Currency Converter[10359:903] あいうかきく1
OK
実験してて気づいたけど、signature='@@:**i'でNSStringが受け取れた。
NSString *result = [converter stringTest:[s1 UTF8String] str2:[s2 UTF8String] intNumber:1];
NSLog(result);
2010-05-08 15:31:01.083 Currency Converter[10408:903] あいうかきく1
PyObjC側で変換してくれているんだと思った。
参考
PR
この記事にコメントする