これは非常に単純でなければなりませんが、私はこれを行う方法を見つけ出すことはできません。私は、現在のメモリ使用量を監視するために、C-機能を持っている:客観CでC関数を宣言して使用して
今natural_t report_memory(void) {
struct task_basic_info info;
mach_msg_type_number_t size = sizeof(info);
kern_return_t kerr = task_info(mach_task_self(),
TASK_BASIC_INFO,
(task_info_t)&info,
&size);
if(kerr == KERN_SUCCESS) {
return info.resident_size;
} else {
NSLog(@"Error with task_info(): %s", mach_error_string(kerr));
return 0;
}
}
私はそれを使いたいです。どのようにして.hで宣言しますか? 私はObjective Cのメソッド内で明らかに(私にとっては)試してみました:
natural_t report_memory(void);
コードでこのどこかの呼び出し:
NSLog(@"Memory used: %u", rvC.report_memory());
コンパイラはerror: called object is not a function
を文句を言います。したがって、宣言は何とか間違っていると私は推測します。私はいくつかのオプションを試しましたが、最高のものは実行時エラーでした... これを修正するには?それはC関数であるので
を提出しますが、インスタンスメソッドとして宣言しましたか? – Mahesh
そして 'rvC'の種類は何ですか? –
rvCはコードが存在するRootViewControllerです。 – Axel