【问题标题】:iPhone - encoding and decoding a NSValueiPhone - 编码和解码 NSValue
【发布时间】:2011-06-02 00:59:59
【问题描述】:

所以我在这里阅读了 SO,我可以使用将 CGLayerRef 编码为 NSValue

NSValue *myCopy = [[NSValue alloc] initWithBytes:&myLayer objCType:@encode(CGLayerRef)]; 

但是如何从 myCopy 重新创建 CGLayerRef?

谢谢

【问题讨论】:

    标签: iphone cocoa quartz-graphics cglayer


    【解决方案1】:

    这应该可行:

    CGLayerRef giveMeBackTheLayer;
    [myCopy getValue:&giveMeBackTheLayer];
    

    【讨论】:

    • 有点离题...你知道我怎样才能发现 myCopy 使用的字节数吗?...谢谢。
    • @Digital 整个实例中的字节数或存储CGLayerRef所需的字节数?它可能是class_getInstanceSize()sizeof CGLayerRef 的组合。但是,实际层 struct 是不透明的。
    • 您需要单独存储该信息。您无法从NSValue 获取它。
    • @Bavarious - 存储 CGLayerRef 所需的字节数
    • @Digi sizeof CGLayerRef,然后。请注意,CGLayerRef 是一个指针,因此它与目标平台中的任何其他指针具有相同的大小:32 位。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-16
    • 2023-03-11
    相关资源
    最近更新 更多