我是一名Jr软件开发人员,我可以将(unsigned)更改为(NSUInteger),还是以后再创建问题?

- (unsigned)retainCount
{
    return UINT_MAX;  //denotes an object that cannot be released
}


警告说

MKStoreManager.m:88:1: Conflicting return type in implementation of 'retainCount': 'NSUInteger' (aka 'unsigned long') vs 'unsigned int'


我找到了先前的定义

- (NSUInteger)retainCount OBJC_ARC_UNAVAILABLE;

最佳答案

您的方法必须返回NSUInteger,因为这是在retainCount中定义NSObject方法的方式。

该错误是由您试图返回的值引起的。您应该返回UINT_MAX,而不是返回NSUIntegerMax

NSUInteger的基础类型根据构建32位还是64位而变化。因此,NSUIntegerMax的值也会更改以匹配类型。

- (NSUInteger)retainCount
{
    return NSUIntegerMax;  //denotes an object that cannot be released
}

关于ios - 我可以将(unsigned)更改为(NSUInteger)还是会产生问题?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31410145/

10-12 14:38