Mehul has defined this method.
+(BOOL)isCameraDeviceAvailable
{
BOOL isCameraAvailable=NO;
if([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera])
{
if([UIImagePickerController isCameraDeviceAvailable:UIImagePickerControllerCameraDeviceFront] || [UIImagePickerController isCameraDeviceAvailable:UIImagePickerControllerCameraDeviceRear])
isCameraAvailable = YES;
}
return isCameraAvailable;
}
但我无法正确宣布并收到错误
Instance method '-isCameraDeviceAvailable' not found (return type defaults to 'id')
当我声明如下时。
+ (BOOL)isCameraDeviceAvailable;
然后以这种方式使用
if([self isCameraDeviceAvailable]){
}
我想我需要在不同的地方或以不同的方式宣布它。你能告诉我怎么做吗?
答案 0 :(得分:4)
[self isCameraDeviceAvailable]
是 实例方法调用,而不是 类方法调用。
你必须像这样使用它:
[MyClass isCameraDeviceAvailable]
答案 1 :(得分:3)
+(BOOL)isCameraDeviceAvailable
该行开头的+
使其成为一种类方法,这意味着您只能将isCameraDeviceAvailable
发送到类。如果您要将该方法与该类的实例一起使用,则需要使用-
代替+
来声明该方法:
-(BOOL)isCameraDeviceAvailable
或者,正如Kashiv解释的那样,您可以通过将isCameraDeviceAvailable
发送到班级来使用该方法。有关详细信息,请参阅Objective-C Classes Are also Objects。