隐式转换失去了精确的ios

时间:2014-11-13 09:41:15

标签: ios objective-c iphone

我正在收到警告 ' 隐式转换失去长整数精度到无符号长'在这行代码

ALAssetRepresentation *rep = [appdele.sharedArrays[j] defaultRepresentation];

Byte *buffer = (Byte*)malloc(rep.size);

及以下行发出警告''隐式转换在这行代码中失去长整数精度到NSInteger ' '

NSUInteger buffered = [rep getBytes:buffer fromOffset:0.0 length:rep.size error:nil];

如何删除此警告?

1 个答案:

答案 0 :(得分:2)

该方法的签名是:

- (NSUInteger)getBytes:(uint8_t *)buffer
            fromOffset:(long long)offset
                length:(NSUInteger)length
                 error:(NSError **)error

您正在使用0.0作为文字offset的{​​{1}};而是使用double这是一个文字0LL

此外,由于某些未知原因,long longALAssetRepresentation.size,但此方法期望long longlength,因此需要进行投射:

NSUInteger
相关问题