1

2つの異なる「スレッド」を実行できるアプリを作成したいと思います。1つはサーバー用、もう1つはクライアント用です。私は、Objective-Cのディスパッチキューとブロックが進むべき道だと聞いています。ブロックとディスパッチキューに関するAppleのドキュメントをかなりの程度読んだことがありますが、コーディングの最初の段階ではまだ失敗しています。

サーバーコード用とクライアントコード用の2つのブロックを作成し、それらのブロックをディスパッチキューに入れて同時に実行する必要があるのは正しいですか?

サーバー用のブロックを作成しようとしていたのですが、無残に失敗しました。私は次のことを試しました:

#import <Foundation/Foundation.h>

@interface Server : NSObject {
    void (^server)(NSString*, int);
}

@end

その後

 #import "Server.h"

@implementation Server
   server = ^(NSString* host, int port) {
};

@end

後でViewControllerで参照できるように、最初にヘッダーファイルでブロック変数を宣言する必要があると思いました。いくつかのコード例を含む一般的な構造についての回答をいただければ幸いです:)

4

1 に答える 1

1

typedefそのタイプのブロックを簡単に作成できるように、を作成することをお勧めします。このような:

typedef void (^ServerBlock)(NSString *host, int port);

あなたの.h:

ServerBlock myServerBlock;

あなたの.m:

myServerBlock = ^(NSString* host, int port) {};

定数と呼ばれる.hファイル内に配置typedefし、それを.pchファイルにインポートできます(これは単なる提案です...)

于 2012-11-14T08:49:46.523 に答える