Objective-c:我如何要求覆盖而不是超级调用?

hfo*_*sli 9 objective-c nsobject ios

我想通过编写@protocol解决了这个问题.

但我渴望知识.是否有一些标志或其他方式要求子类覆盖特定方法而不是调用super?与NS_REQUIRES_SUPER/objc_requires_super相反?

Bas*_*CAD 1

我在不使用任何标志的代码中执行此操作。
- 我在超类的方法中添加了断言,如果调用此方法,则需要覆盖该断言

这里我有一个类,它有一个fetchUserData应该被子类覆盖的方法

- (void)fetchUserData
{
    NSString *descrip = [NSString stringWithFormat:@"child implementation for method:%@ :  %@",NSStringFromSelector(_cmd),  NSStringFromClass([self class])
    NSAssert(NO, descrip);
}
Run Code Online (Sandbox Code Playgroud)