use*_*951 9 objective-c xcode4
我的其他程序员从网上下载了这段代码
#import "UIImage+Alpha.h"
// Private helper methods
@interface UIImage ()
- (CGImageRef)newBorderMask:(NSUInteger)borderSize size:(CGSize)size;
@end
@implementation UIImage (Alpha)
Run Code Online (Sandbox Code Playgroud)
我得到错误:什么原因导致Category正在实现一个方法,该方法也将由其主类实现?
我在我的整个文件中搜索newBorderMask,这个单词只显示3次.
它只被声明一次
@interface UIImage ()
- (CGImageRef)newBorderMask:(NSUInteger)borderSize size:(CGSize)size;
@end
Run Code Online (Sandbox Code Playgroud)
即实施一次
#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();
Run Code Online (Sandbox Code Playgroud)
然后叫了一次
CGImageRef maskImageRef = [self newBorderMask:borderSize size:newRect.size];
Run Code Online (Sandbox Code Playgroud)
所以没有双重声明.
所以有什么问题.
Ila*_*ian 10
在您声明类别时,请参阅
@interface UIImage ()
Run Code Online (Sandbox Code Playgroud)
但在实施中,它就像
@implementation UIImage (Alpha)
Run Code Online (Sandbox Code Playgroud)
所以声明如下:
@interface UIImage (Alpha)
Run Code Online (Sandbox Code Playgroud)
我刚从.m文件中删除了这一点:
@interface UIImage ()
- (CGImageRef)newBorderMask:(NSUInteger)borderSize size:(CGSize)size;
@end
Run Code Online (Sandbox Code Playgroud)
LLVM 4.1编译器似乎不再关心它了.