関連するコードの部分サンプルです。addObjectsFromArray:グローバルNSMutableArrayにコピーしない
static NSMutableArray *radioInputArray;
static NSMutableArray *buttonsArray;
- (IBAction)lookForRadioButtons:(id)sender {
// NSLog(@"Testing");
NSError *error;
NSString *radiostr = [NSString stringWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"getRadios" ofType:@"txt"] encoding:NSASCIIStringEncoding error: &error] ;
if (radiostr == nil)
{
NSLog (@"Error! %@", error);
}
else
{
NSLog(@"%@",radiostr);
NSString *radiotxt= [webView stringByEvaluatingJavaScriptFromString:radiostr];
NSLog(@"%@", radiotxt);
NSArray *myRadios = [radiotxt componentsSeparatedByString:@"::"];
[radioInputArray addObjectsFromArray:myRadios];
NSLog(@"%d", myRadios.count);
NSLog(@"Number of buttons in global radio array %d", radioInputArray.count);
NSLog(@"%d", scrollViewer.subviews.count);
}
}
だから、何の例外をスローしないとaddObjectsFromArray:
後を除いて正常に動作しているようですが、グローバルNSMutableArray
の私のカウントが(myRadiosでカウントが56を=)0です。私は彼らがこの時点で平等でなければならないと確信していますが、そうではありません。私はNSMutableArray
をトップに近づけて、グローバルにアクセスできるように宣言しました。私はこれを割り当てて初期化するなどの何かを見逃していますか? C#のように自動的にそれをしないのですか?ここでも、これはWindowsプログラミングからのObjective-Cの世界への私の最初の進出です。あなたのradioInputArray
がnil
ある場合
地獄の地獄です。あなたがそれを肯定的に働かせているように、そのような状況にはエラーはありません!恐ろしい。 – Fattie