在我的代码中的某些情况,我最终只在定义了该函数时调用该函数,否则我不应该.我怎样才能实现这一目标?
like:
if (function 'sum' exists ) then invoke sum ()
Run Code Online (Sandbox Code Playgroud)
可能是另一种方式来问这个问题是:如何确定函数是否在运行时定义,如果是,则调用.
我从地址簿中以编程方式检索电子邮件地址的方法似乎不再适用于iOS 6设备.它在iOS 5中工作,奇怪的是,仍然适用于iOS 6模拟器.有没有一种新方法以编程方式从用户的地址簿中检索联系人?
ABAddressBookRef addressBook = ABAddressBookCreate();
CFArrayRef allPeople = ABAddressBookCopyArrayOfAllPeople(addressBook);
CFIndex nPeople = ABAddressBookGetPersonCount(addressBook);
self.contacts = [[NSMutableArray alloc] init];
int contactIndex = 0;
for (int i = 0; i < nPeople; i++) {
// Get the next address book record.
ABRecordRef record = CFArrayGetValueAtIndex(allPeople, i);
// Get array of email addresses from address book record.
ABMultiValueRef emailMultiValue = ABRecordCopyValue(record, kABPersonEmailProperty);
NSArray *emailArray = (__bridge_transfer NSArray *)ABMultiValueCopyArrayOfAllValues(emailMultiValue);
[self.contacts addObject:emailArray];
}
Run Code Online (Sandbox Code Playgroud)
为了澄清,上面没有崩溃,它只是没有返回任何结果.ABAddressBookCopyArrayOfAllPeople为空.谢谢!
我有一个关于(重新)定义函数的问题.我的目标是有一个脚本,我可以选择定义一个函数.像这样:
void func(){}
int main(){
if (func)func();
}
Run Code Online (Sandbox Code Playgroud)
没有这个功能,只需:
int main(){
if (func)func();
}
Run Code Online (Sandbox Code Playgroud)
有人有想法吗?