NSNumberが有効範囲外とみなされている理由を把握できません。ここに私のコードの簡易版である:NSNumberが有効範囲外です
viewController.m
NSNumber *mean;
[statistics calculateMean:mean];
NSLog(@"%@ is the mean", mean);
//^on this line I get the error: "Program received signal: “EXC_BAD_ACCESS”."
//and when I hover over object it says "out of scope".
statistics.m
+ (void)calculateMean:(NSNumber*)MeanEst
{
MeanEst = [stepFunc meanOfArray:sub_values];
//meanOfArray returns an NSNumber*
}
は、任意の助けいただければ幸いです!
EDIT:私はmatlabコードをobjective-cに移植しています。 MATLABコードは、私が書かなかったコードであり、私は実際にこの目的コードを使用しません。それは誰かのためのプロジェクトです。だから私は可能な限り、MATLABコードに似ている方法でそれを記述しようとしています。 matlabコードでは、function [mean_est、sig] = mean_est(candEventTimes)と定義された関数があります。私は2つのオブジェクトを返すことができないので、私はポインタとしてそれらを渡し、本質的に同じことを達成することを望んでいた。
をポインタへのポインタを渡す必要があります。それは自動リリースされたものです。またはNSNumberを使用することができます*平均= [[stepFunc meanOfArray:sub_values]保持];使用後に使用してください。 – Ravin
NSNumberのプロパティとシンセサイザを宣言しましたか? – Radu
あなたのNSNumberオブジェクトはおそらくどこかで解放されています。追跡してください。 (自動リリースされるかもしれません) – sElanthiraiyan