我写了一个辅助函数
-(NSString*) rotatePattern: (NSString*) patternToRotate
{
int tempIndex = indexOfChar(patternToRotate,_SignatureChar);
if(tempIndex != 0)
{
NSString* secondPartString = [patternToRotate substringToIndex:tempIndex-1];
NSString* firstPartString = [patternToRotate substringFromIndex:tempIndex];
NSMutableString *finalString;
[finalString setString:@""];
[finalString appendString:firstPartString];
[finalString appendString:secondPartString];
return finalString;
}
return patternToRotate;
}
现在我尝试使用以下三种方法从另一个静态方法调用此函数,它让我使用了undeclared identifier rotatePattern
或use of undeclared identifier self
_finalPattern = [rotatePattern: @"hello"];
OR
_finalPattern = [self rotatePattern: @"hello"];
OR
_finalPattern = [self.rotatePattern: @"hello"];
答案 0 :(得分:2)
如果可以,请将rotatePattern
设为静态方法,然后就可以像
[self rotatePattern: @"hello"];
如果它在同一个类
或[ThatClassName rotatePattern: @"hello"];
如果从另一个类(或这个类调用它,这是更政治正确的方法)
否则如果你不能使这个方法静态,你可以尝试使另一个非静态。
如果这两个都是一个问题,那么你要做的就是不可能,因为调用没有类实例的实例方法是没有意义的。