繁体   English   中英

找不到方法声明,初学者

[英]method declaration not found, beginner

您好,我试图在一个OnProcessClick图像进行排序并似乎遇到两个我似乎无法解决的错误的代码之后尝试运行一个名为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;

@结束

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

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

在iOS中创建方法的两种方式

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

 - (IBAction) anyMethod 
{  
    // method definition
}

2)在.h和.m文件中声明和定义的方法,也由代码调用,这些方法将以void /其他任何形式返回。

 - (void) anyMethod 
{  
    // method definition
}

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

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

1.)仅在.h中定义了一个名为OnProcessClick的方法。 您必须在.m文件中实现该方法。 使它与您的实现相匹配。

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

请正确检查方法名称,我认为它们与方法名称不匹配。(OnProcessClick)应为(onprocessclick),或者请共享代码

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM