此問題適用於iOS版本兼容性。檢查是否存在類型爲'MyMethodName()'的C風格函數?
我知道如何檢查一個函數是否存在,如果它是一個典型的使用respondsToSelector的Objective-C風格的方法。即對於諸如方法:
- (void) someMethod:(NSInteger)someParameter;
您可以使用:
if ([self respondsToSelector:@selector(someMethod:someParameter)]) {
//do something
}
關於C風格的函數
可是什麼?如何檢查是否函數存在,看起來像:
void CStyleFunctionName(FoundationTypeRef parameter);
謝謝!
這不是一個方法,它是一個函數。可能的[如何檢查函數是否存在於C/C++]的副本(http://stackoverflow.com/questions/8814705/how-to-check-if-the-function-exists-in-cc)另請參閱: [我可以重新定義一個函數或檢查它是否存在?](http://stackoverflow.com/questions/6916772/can-i-re-define-a-function-or-check-if-it-exists) –
你可以做'if(CStyleMethodName!= NULL){...}'來查看符號是否被定義。例如,如果您想要與舊版iOS兼容,那就是您想要做的。 –
@FabianKreiser僅在弱連接支持時纔有效。 – 2012-09-20 17:35:39