objective-c – 什么原因类别正在实施一个也将由其主要类实现的方法?

前端之家收集整理的这篇文章主要介绍了objective-c – 什么原因类别正在实施一个也将由其主要类实现的方法?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我的其他程序员从网上下载这段代码
#import "UIImage+Alpha.h"

// Private helper methods
@interface UIImage ()
- (CGImageRef)newBorderMask:(NSUInteger)borderSize size:(CGSize)size;
@end

@implementation UIImage (Alpha)

我有错误
什么原因是Category正在实现一个也将由其主类实现的方法

我在整个文件搜索newBorderMask,该单词只显示3次.

这只是宣布一次

@interface UIImage ()
- (CGImageRef)newBorderMask:(NSUInteger)borderSize size:(CGSize)size;
@end

执行一次即可

#pragma mark -
#pragma mark Private helper methods

// Creates a mask that makes the outer edges transparent and everything else opaque
// The size must include the entire mask (opaque part + transparent border)
// The caller is responsible for releasing the returned reference by calling CGImageRelease
- (CGImageRef)newBorderMask:(NSUInteger)borderSize size:(CGSize)size1 {
    CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceGray();

并呼吁一次

CGImageRef maskImageRef = [self newBorderMask:borderSize size:newRect.size];

所以没有双重的声明.

所以有什么问题.

解决方法

我是 code的原作者,而Aadhira的回答是错误的.此方法的类别名称不应更改为“Alpha”,因为该方法是私有的,而不是扩展的一部分.

为了摆脱警告,最好的解决方法是给私有类别一个唯一的名称,如“PrivateAlpha”.

有关详细信息,请参阅this discussion.

猜你在找的C&C++相关文章