Dr.*_*eon 1 cocoa objective-c unrecognized-selector objective-c-category
嗯,这是一个非常奇怪的问题.(我只是希望它与我不玩的时间有关 - 可以和Cocoa一起玩,或者......)
所以,问题非常简单:
NSProgressIndicator)[NSProgressIndicator start]:无法识别的选择器发送到实例0x7f9f4b91a0a0
#import <Foundation/Foundation.h>
@interface NSProgressIndicator (NSProgressIndicator_Functions)
- (void)start;
- (void)stop;
@end
Run Code Online (Sandbox Code Playgroud)
#import "NSProgressIndicator+Functions.h"
@implementation NSProgressIndicator (NSProgressIndicator_Functions)
- (void)start
{
[self setHidden:NO];
[self startAnimation:nil];
}
- (void)stop
{
[self setHidden:YES];
[self stopAnimation:nil];
}
@end
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
将我的评论扩展为一个真实的答案:
确保类别的实现(.m)文件包含在目标的编译源构建阶段中.导入标题足以告诉编译器NSProgressIndicator上有一个类别,它添加了一个-start方法.除非类的实现实际上是编译和链接到最终的二进制文件(或方法的实现在运行时添加,等等),NSProgressIndicator实际上不会给响应start消息在运行时.由于Objective-C的动态消息发送行为,编译器无法在编译时告诉NSProgressIndicator是否实际上要响应该消息,这就是为什么你没有收到警告或错误.
| 归档时间: |
|
| 查看次数: |
1556 次 |
| 最近记录: |