2012-02-09 8 views
1

私は、HessianKitを使って自分のJavaサーバーと通信するiPhoneアプリを持っています。私が使用するメソッドのカップルは、カスタムオブジェクトを返します、そして、私はそれらをiPhone側で正しいオブジェクトとしてロードする方法を理解することができませんでした。ここでHessianKitとJavaバックエンドを持つカスタムオブジェクト

は私が持っているものは基本的である:Javaで

:Objective-Cで

public class QRSet implements Serializable{ 
{ 

    protected Pagination pagination;//another custom class 
    protected int resultSetSize; 
    protected List results; 

    //...standard getters, setters, and constructors... 
} 

@protocol QRSet <NSObject> 

@property (strong, atomic) id<Pagination> pagination; 
@property int resultSetSize; 
@property (strong, atomic) NSArray * results; 

//...not sure how I would need to do getters and setters here... 


@end 

もともと私の代わりに独自のクラスとしてObjective Cのバージョンを持っていましたプロトコルを使用していましたが、マッピング方法がどのように変更されているかを確認しましたが、現在はこの形式が必要です。

[CWHessianArchiver setClassName:@"com.test.queries.QRSet" forProtocol:@protocol(QRSet)]; 

これは私が私のサービスを呼び出す方法です:私は立ち往生午前どこ

id<QRSet> qrSet = [self.proxy doPaginatedList:token :filter :startingIndex]; 

しかし、これは私が私のメソッド呼び出しがQRSetを返すように作れば、私はまだのみNSDictionaryのオブジェクトを取得し、です。誰もがQRSetオブジェクトをクライアント側で再作成するためにどのようなステップがないのか知っていますか?

+0

問題は、あなたが 'QueryResultSet'の翻訳を追加することであってもよいが、結果を期待するかもしれませんQRSetのそれは質問の型ですか、あなたのプロジェクトの型ですか? – PeyloW

+0

QRSetは、私がこの質問に使用していたテキストです(実際のコードでは、実際はQueryResultSetがどこにでもあります)。 – cain

答えて

1

サービスから返されたオブジェクトについて、あなたはCWHessianUnarchiverでのマッピングを指定する必要があり、このように:

[CWHessianUnarchiver setProtocol:@protocol(QRSet) forClassName:@"com.test.queries.QRSet"]; 
関連する問題