iPhoneアプリ開発初心者です。RedPark から入手したドックと RS232 ケーブルを使用して、外部ハードウェアと通信するアプリに取り組んでいます。ほとんどのコードを自分で書きましたが、まだいくつかの点で混乱しています。
アプリにいくつかのビューが必要で、各ビューにはボタンがあり、ボタンを押すとハードウェアに異なるコマンドが送信されます。そこで、送信部分を処理するために NSObject を作成します。私の質問は、その NSObject の send メソッドを適切に呼び出す方法です。コミュニケーション.h
@interface Communication : NSObject<RscMgrDelegate>
{
RscMgr * rscMgr;
}
@property (nonatomic,retain)RscMgr *rscMgr;
- (void)sendRequest;
@end
通信.m
@synthesize rscMgr=_rscMgr;
- (void)sendRequest{
if (!_rscMgr) {
rscMgr = [[RscMgr alloc]init];
[rscMgr setDelegate:self];
}
UInt8 sendData[4]={0x8E,0x8E,0x05,0x80};
[rscMgr write:sendData Length:4];
NSLog(@"sending request");
}
ところで、RscMgr は RedPark が提供するライブラリを使用する NSObject です。シングルテスト.m
- (Communication *)communication{
if(!_communication){
_communication=[[Communication alloc]init];
}
return _communication;
}
- (IBAction)sendData:(id)sender{
[self.communication sendRequest];
NSLog(@"Send Data");
}
今起こっていることは、ボタンを初めて押したときです。コマンドは送信されましたが、その後は送信されませんでした。私はまだそれを学んでいるので、私は愚かな間違いをしたと思います. 私にお知らせください。
ありがとうございました。