Cocoa - 具有多个参数的调用方法

时间:2014-07-31 19:39:14

标签: cocoa

我是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)];

但我得到一个错误 - 预期的表达! 我做错了什么?

1 个答案:

答案 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

希望有所帮助

相关问题