我正在尝试编写一个简单的方法声明格式化程序,我需要验证该字符串是否实际上是一个客观的 c 方法声明。
是否有某种内置功能可以做到这一点,或者可能是一个正则表达式命令来验证这些事情,或者我是否需要为这种情况实现自己的解析器?
现在我已经为空格修剪了字符串并将其转换为小写,因此使用 for 循环更容易验证。例如,在下面的代码中,我可以检查是否出现了子字符串“(void)”,以确定它是一个 void 函数,但这不起作用。一定会有更好的办法。
-(BOOL)isVoidMethod:(NSString*)method
{
/* Remove white spaces and lower case the method */
[self convertToParseMethod:method];
BOOL isVoid = NO;
if ([method rangeOfString:@"(void)"].location != NSNotFound) {
isVoid = YES;
} else if ( [method rangeOfString:@"(ibaction)"].location != NSNotFound ) {
isVoid = YES;
}
return isVoid;
}
提前致谢 :)