2011-05-11 72 views
-1

但是,当我这样声明时出现错误。如何从同一类的其他函数调用同一类的函数 - 目标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 

如何调用其他功能的功能相同的类里面?

回答

4

您可以使用self关键字来实现此目的。

[self yourFunctionName];

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 
+2

...和消息名称应该从小写字母开始 – 5hrp 2011-05-11 06:45:02

+0

哦,我错过了:D,让我再次编辑... – 2011-05-11 06:46:31

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)); 

第二件事:
如果你正在尝试ca的方法ll是第二个来自你的代码,你在选择器中有一个错字! 这行应为:

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

三件事:
通过使用self发送消息给自己。

相关问题