但是我在宣布这样的时候会遇到错误。
@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
如何从同一个类中的其他函数调用函数?
答案 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