我是Cocoa的初学者,我对使用多个参数调用方法有疑问。我将一些数据写入蓝牙(同步方法)并等待回复。在另一种方法中,我试图检查缓冲区中是否收到了新数据,但我不知道如何调用此方法。我尝试了很多不同的方法,我不能:(
我尝试调用的方法是:
- (void) odczyt:(IOBluetoothRFCOMMChannel *)rfcommChannel data:(void *)dataPointer length:(size_t)dataLength
{
unsigned char *dataAsBytes = (unsigned char *)dataPointer;
while ( dataLength-- )
{
[self addThisByteToTheLogs:*dataAsBytes];
dataAsBytes++;
}
}
我该如何调用此方法?此方法负责读取传入的字符串并将其重写为标签。按下按钮时没有调用此方法(并且请求将数据发送到BT)我无法读取传入的数据 - 标签为空并且在下次按下按钮后工作(当方法退出时主线程已初始化。)
好的 - 因为我尝试使用的是同一个类:
[self odczyt:IOBluetoothRFCOMMChannel *) data:(void *) length:(size_t)];
但我得到一个错误 - 预期的表达! 我做错了什么?
答案 0 :(得分:0)
我认为你应该重新审视自己想做的事情。
更重要的是,我将来会发布更多一般性问题。
从标题中,您想知道如何调用具有多个参数的方法。
如果这是正确的,那么:
[self someMethod:pram1 whichAlsoTake:pram2 andHasLogginStat:pram3] // if the method is part of your current class
或
[SomeClass someMethod:pram1 whichAlsoTake:pram2 andHasLogginStat:pram3] //if part of another class and its public
或
SomeClass *somethingFromAClass = [[SomeClass alloc] init];
[somethingFromAClass someMethod:pram1 whichAlsoTake:pram2 andHasLogginStat:pram3] // on an instance of a class
希望有所帮助