无法从另一个函数调用辅助函数

时间:2015-04-10 07:28:37

标签: objective-c

我写了一个辅助函数

-(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 rotatePatternuse of undeclared identifier self

_finalPattern = [rotatePattern: @"hello"];

OR

_finalPattern = [self rotatePattern: @"hello"];

OR

_finalPattern = [self.rotatePattern: @"hello"];

1 个答案:

答案 0 :(得分:2)

如果可以,请将rotatePattern设为静态方法,然后就可以像

一样使用它

[self rotatePattern: @"hello"];如果它在同一个类

[ThatClassName rotatePattern: @"hello"];如果从另一个类(或这个类调用它,这是更政治正确的方法)

否则如果你不能使这个方法静态,你可以尝试使另一个非静态。

如果这两个都是一个问题,那么你要做的就是不可能,因为调用没有类实例的实例方法是没有意义的。