找不到方法声明,初学者

时间:2015-03-27 09:38:23

标签: ios

你好我试图在一个简单地对图像进行排序的代码之后运行一个名为OnProcessClick的进程,似乎得到了两个我似乎无法解决的错误。一个是无法找到onProcessClick的方法定义的错误,第二个问题是IB Action OnProcessClick命令的预期表达式的错误消息,任何帮助都将不胜感激。我包含了部分.m文件

PixelValueFilter.m file (beginning of it)
- (IBAction)onProcessClick:(id)sender
{
@autoreleasepool
 NSString *patientPath = [NSString stringWithFormat:@"data/source/%02d/.", _patient.patientIdx];   
NSArray *imagePathList = [[NSBundle mainBundle]        pathsForResourcesOfType:@".png" inDirectory:patientPath];


end of the PixelValueFilter.m file
NSDate *methodFinish = [NSDate date];
                NSTimeInterval executionTimeB = [methodFinish              timeIntervalSinceDate:start];
NSLog(@"Total execution Time: %f", executionTimeB);
                });
            });//end async B
        });

    });//end async A

    }//end autoreleasepool


}@end




PixelValueFilter.h file
#import <Foundation/Foundation.h>
#import <OsiriXAPI/PluginFilter.h>
@interface PixelValueFilter : PluginFilter
{

}
- (long) filterImage:(NSString*) menuName;
- (IBAction)onProcessClick:(id)sender;

@end

3 个答案:

答案 0 :(得分:0)

请添加代码和错误日志,这有助于找出确切的问题。

查看上面的问题陈述,您似乎面临与方法声明/定义相关的问题。

您可以在iOS中创建方法的两种方法

1)由接口构建器(IB)事件触发的方法将在IBAction之前作为函数的返回类型,查看xib能够在IB中找到此方法。

 - (IBAction) anyMethod 
{  
    // method definition
}

2)在.h和.m文件中声明和定义的方法,并且也通过代码调用这些方法将返回类型为void / any other。

 - (void) anyMethod 
{  
    // method definition
}

对于任何具体的事情,请详细说明并提供答案的代码。

答案 1 :(得分:0)

您可以通过以下几点解决您的问题:

1。)名为OnProcessClick的方法仅在.h中定义。您必须在.m文件中实现该方法。这样它就符合你的实现。

2。)问题不在于那个方法,而在于它之前的问题。你忘了用一个大括号关闭前面的方法。

答案 2 :(得分:0)

请正确检查方法名称的名称,我认为它们是方法名称的错过匹配。(OnProcessClick)预期(onprocessclick),或者请分享代码