如何从同一个类的其他函数调用同一个类的函数 - Objective C

时间:2011-05-11 06:33:12

标签: objective-c

但是我在宣布这样的时候会遇到错误。

@implementation data

-(void)SwapEndian:(uint8_t*)pData withBOOLValue:(bool)bIsAlreadyLittleEndian
{
data* datas = [data alloc];
[datas swapEndians:(uint8_t)&pData[nIndex] withSize:(sizeof(uint32_t));  
}

-(void)swapEndians:(uint8_t*)pData withnByteSize:(int const)nByteSize
{
    NSLog(@"swapEndians!!");
}

@end

如何从同一个类中的其他函数调用函数?

3 个答案:

答案 0 :(得分:4)

您可以使用自我关键字来实现此目标。

  

[self yourFunctionName];

答案 1 :(得分:3)

首先要做的事情:

data* datas = [data alloc]; // Where is your init? Don't use un-initialized objects!
[datas swapEndians:(uint8_t)&pData[nIndex] withSize:(sizeof(uint32_t));

第二件事:
如果您尝试调用的方法是您编码的第二个方法,则选择器中会出现拼写错误! 该行应为:

[datas swapEndians:&pData[nIndex] withnByteSize:sizeof(uint32_t)];

第三件事:
您可以使用self将消息发送给自己。

答案 2 :(得分:2)

首先,班级名称应该以大写字母开头,这是我认为你要做的事情

    @implementation Data //changed it just naming convention 

    -(void)swapEndian:(uint8_t*)pData withBOOLValue:(bool)bIsAlreadyLittleEndian
      {
         [self swapEndians:(uint8_t)&pData[nIndex] withSize:(sizeof(uint32_t));  
      }

    -(void)swapEndians:(uint8_t*)pData withnByteSize:(int const)nByteSize
      {
        NSLog(@"swapEndians!!");
      }

    @end