- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
实现将原始数字的 C 数组包装到 CFNumbers 的 CFArray 中的方法的最佳方法是什么?
我想这样调用:
double values[] = {1.2345, 678.9};
CFArrayRef arr = NumberWrappedValuesArray(&values, 2, kCFNumberDoubleType);
并试过这个:
CFArrayRef NumberWrappedValuesArray(void * valueArrayPtr, CFIndex count, CFNumberType numberType) {
CFMutableArrayRef array = CFArrayCreateMutable(NULL, count, &kCFTypeArrayCallBacks);
for (int i = 0; i < count; i++) {
CFNumberRef numberWrappedValue = CFNumberCreate(NULL, numberType, &valueArrayPtr[i]);
CFArrayAppendValue(array, numberWrappedValue);
CFRelease(numberWrappedValue);
}
CFRelease(array);
return array;
}
谢谢!
最佳答案
您可以使用 CFArrayCreate
.
例子:
CFArrayRef NumberWrappedValuesArray(void *valueArrayPtr, size_t size, CFIndex count, CFNumberType numberType) {
size_t i, n;
CFArrayRef ret;
CFNumberRef *ref = malloc(sizeof(CFNumberRef) * count);
/* create array of boxed types. */
for (i = 0, n = count; i < n; ++i)
ref[i] = CFNumberCreate(NULL, numberType, ((char *)valueArrayPtr) + (size * i));
/* create CFArray. */
ret = CFArrayCreate(NULL, (const void **)ref, count, &kCFTypeArrayCallBacks);
/* release boxed types and malloc'ed array. */
for (i = 0; i < n; ++i)
CFRelease(ref[i]);
free(ref);
/* return CFArray, without releasing first! Has to be done by the caller. */
return ret;
}
为清楚起见省略了错误处理。
关于c - 将 C 原始值包装在 CFNumbers 的 CFArray 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41782290/
很确定这个答案是否定的,但我不得不问这个问题已经够痛苦了:是否有一个 CFNumber 等同于 CFString 的 CFSTR 宏?为了避免这种事情: char one = 1; CFNumberR
我已经阅读了很多有关 NSDecimal、NSNumber、NSNumberDecimal、CFNumber 的内容……对我来说它开始成为一种丛林。 基本上,我正在尝试创建一个简单的模型类来处理简单的
每次我在我的应用程序中触发某个 segue 时,我都会收到 EXC_BAD_ACCESS 错误。多亏了这两个链接,我了解到启用 NSZombies 后可以更轻松地解决 EXC_BAD_ACCESS 问
当我从 History Core Data 对象记录/请求值时,下面的代码返回以下错误: -[CFNumber release]: message sent to deallocated instan
我正在使用 NSJSONSerialzation 解析 JSON 字符串,然后将其转换为 NSDictionary 以处理键值对。 JSON 字符串中的一些值由服务器作为整数发送,但是,NSDicti
实现将原始数字的 C 数组包装到 CFNumbers 的 CFArray 中的方法的最佳方法是什么? 我想这样调用: double values[] = {1.2345, 678.9}; CFArra
我是一名优秀的程序员,十分优秀!