【问题标题】:Conversion issue of long long to unsigned longlong long 到 unsigned long 的转换问题
【发布时间】:2014-03-20 13:52:46
【问题描述】:

您好,我是 Objective 的初学者。我正在将视频文件转换为 NSData。它工作正常,但它给了我价值转换问题,消息“隐式转换失去整数精度:long long to unsigned long” 这是代码

long long DataSize = [alassetRep size];
Byte *buffer = (Byte*)malloc(DataSize);
NSUInteger buffered = (NSUInteger)[alassetRep getBytes:buffer fromOffset:0.0 length:alassetRep.size error:nil];
NSData *videoData = [NSData dataWithBytesNoCopy:buffer length:buffered freeWhenDone:YES];

问题来了 Byte buffer = (Byte)malloc(DataSize); 和 length:alassetRep.size 怎么办?任何人....

【问题讨论】:

    标签: objective-c ios7


    【解决方案1】:

    只需将 DataSize 声明为 unsigned long。问题是,无论[alassetRep size] 的返回类型如何,在使用malloc 时都需要使用unsigned long,因为这是它所期望的数据类型。

    unsigned long DataSize = [alassetRep size];
    

    【讨论】:

    • 谢谢它对我有用。但我在你的回答中带来了更多的变化。比如 "unsigned long DataSize = (unsigned long)[alasserRep size];"
    猜你喜欢
    • 1970-01-01
    • 2014-11-03
    • 2012-01-27
    • 2016-12-20
    • 2023-03-22
    • 2016-07-29
    • 2011-08-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多