忍者ブログ
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
性別:
男性
趣味:
酒など
自己紹介:
ここに書かれていることはフィクションです。
ブログ内検索
アクセス解析
[15] [14] [12] [11] [10] [9] [8] [7] [6] [5] [4
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

複雑なデータ型はやり取りする気はなくて、
数値と文字列があれば足りると思う。
配列は渡せると便利かもしれないけど、
結局タブ区切り文字列とかでやっちゃうんだと思う。
 
オブジェクトはシリアライズして文字列で渡した方がいいと思う。
 
とりあえず、数値はやり取りできそうなので文字列をやり取りする方法を探ってみる。




 
-(NSString *)stringTest:(NSString *)s1 str2:(NSString *)s2 intNumber:(int)i
 
的なメソッド、
 
def stringTest_str2_intNumber_(self, s1, s2, i)
 
で実験。
動きは受け取った引数を全部連結して返す。
 
文字列返しで、文字列、文字列、数値なので
signature='*@:**i'でトライ。
なんか":"は最初の一個でいいのね。
この辺の法則はよくわかんないけど。



 
Pythonのメソッド内でprintすると、
そのままコンソールに出してくれるのはとてもうれしい。
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側で変換してくれているんだと思った。
 

参考
Type Encodings


PR
この記事にコメントする
NAME:
TITLE:
color:
MAIL:
URL:
COMMENT:
PASS: Vodafone絵文字 i-mode絵文字 Ezweb絵文字
この記事へのトラックバック
この記事にトラックバックする:


Copyright (C) 2010 NEST,
All right Resieved.*Powered by ニンジャブログ *Designed by にこるん  / 忍者ブログ / [PR]