我的swift项目中有一个第三方Objective-C库,在.h文件中,它有一个typedef:
typedef void (^YDBlutoothToolContectedList) (NSArray *);
在课堂内,它有一个属性:
@property (nonatomic, copy) YDBlutoothToolContectedList blutoothToolContectedList;
(请忽略其拼写)
当我尝试在我的swift类中使用这个属性时,我会使用
bt.blutoothToolContectedList = {(_ tempArray: [Any]) -> Void in
self.devices = tempArray
self.tableView.reloadData()
}
Run Code Online (Sandbox Code Playgroud)
我得到错误说:
Cannot assign value of type '([Any]) -> Void' to type 'YDBlutoothToolContectedList!'
我知道swift中的上述Objective-C代码将是:
typealias YDBlutoothToolContectedList = () -> Void
但我无法重写那个Objective-C文件和swift无法转换关闭类型,有没有可能的方法来解决这个问题?
我是C的初学者,现在我正在学习指针和动态内存分配.我想编写一个简单的程序来创建空数组并检查给定数字是否存在.这是我的代码:
/* create an empty array pointer */
int* createArray(){
int *a = (int*) malloc(sizeof(int));
return a;
}
void findArrayElement(int *list, int element){
int i;
int len = (sizeof(list) / sizeof(int));
if (sizeof(list) == 0) {
printf("NO\n");
return;
}
for (i=0; i<len; i++) {
if (list[i] == element) {
printf("YES\n");
return;
}
}
printf("NO\n");
}
int main(int argc, const char * argv[]) {
int *p;
p = createArray();
printf("size of int is: %lu\n", sizeof(int));
printf("size of p is: %lu\n", sizeof(p)); …Run Code Online (Sandbox Code Playgroud)