当试图为NSInteger创建一个类别时,编译器抱怨它“找不到‘NSInteger’的接口声明”。不能创建NSInteger类别吗?
一个简单的测试将显示编译器错误:
#import <Foundation/Foundation.h>
@interface NSInteger (NSInteger_Extensions)
-(NSInteger)simpleTest;
@end
#import "NSInteger_Extensions.h"
@implementation NSInteger (NSInteger_Extensions)
-(NSInteger)simpleTest {
return self + 5;
}
@end这是可能的吗?
谢谢!
发布于 2011-03-16 05:53:17
NSinteger不是一个接口。所以这是不可能的。
http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Miscellaneous/Foundation_DataTypes/Reference/reference.html
从上面的链接:
Used to describe an integer.
#if __LP64__ || TARGET_OS_EMBEDDED || TARGET_OS_IPHONE || TARGET_OS_WIN32 || NS_BUILD_32_LIKE_64
typedef long NSInteger;
#else
typedef int NSInteger;
#endifPS:,但是你可以做一个NSNumber的分类。我想这是你想做的事
发布于 2011-03-16 05:54:30
NSInteger只是int的一个类型定义,它是一种基本类型。因为它不是一个对象,所以你不能给它添加一个类别。
您可以将其添加到NSNumber或NSValue中。
https://stackoverflow.com/questions/5318534
复制相似问题