加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-16 03:09:50 所属栏目:百科 来源:网络整理
导读:我的其他程序员从网上下载这段代码 #import "UIImage+Alpha.h"// Private helper methods@interface UIImage ()- (CGImageRef)newBorderMask:(NSUInteger)borderSize size:(CGSize)size;@end@implementation UIImage (Alpha) 我有错误: 什么原因是Category
我的其他程序员从网上下载这段代码
#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.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读