私はCocoa開発者ではありませんが、PhoneGap用のプラグインをいくつかビルドしています。この特定のプラグインメソッドは、1)理由を言わずにアプリをクラッシュさせるか、または2)どのようにオブジェクトを解放/解放しないかについて不平を言うことです。私は、forループの代わりに列挙子を使用することを含め、私の最後に大量のものを試しました。誰かが正しい方向に私を指すことができる場合は、それは素晴らしいだろう。NSMutableDictionaryを作成して作成しようとするとメモリエラーが発生する
- (void)getPreferences:(NSMutableArray*)arguments withDict:(NSMutableDictionary*)options {
NSUInteger argc = [arguments count];
NSString* jsCallback = nil;
if (argc > 0) {
jsCallback = [arguments objectAtIndex:0];
} else {
NSLog(@"Preferences.getPreferences: Missing 1st parameter.");
return;
}
NSDictionary *defaults = [[NSUserDefaults standardUserDefaults] dictionaryRepresentation];
NSMutableArray *keys = (NSMutableArray *) [options objectForKey:@"keys"];
NSMutableDictionary *values = [[NSMutableDictionary alloc] init];
NSUInteger ky = [keys count];
for (int i = 0; i < ky; i ++) {
@try {
[values setObject:[defaults objectForKey:[keys objectAtIndex:i]] forKey:[keys objectAtIndex:i]];
}
@catch (NSException * err) {
NSLog(@"Error %@", err);
}
}
[keys release];
NSString* jsString = [[NSString alloc] initWithFormat:@"%@(%@);", jsCallback, [values JSONRepresentation]];
[defaults release];
[values release];
[webView stringByEvaluatingJavaScriptFromString:jsString];
[jsString release];
}
人間バージョン:
options
キーをしようとしている文字列の配列を(含まれていることを「キー」- の単一キーで辞書が含まれています、私は取材を気にしません
- は、私が
defaults
Fに存在するすべての値については、そのアレイと - をループにしたい)のルックアップのためのキーとして使用すること同じキーを使って
values
にコピーしてください - 最後に、
values
をJSONとして送り返したいと思います(この部分は、defaults
オブジェクト全体を渡したときに動作していたので、JSONメソッドが機能していると思います)あなたのコードから
完全にオフトピック何かにお邪魔して申し訳ありませんが、あなたは持って起こるんダウンロードサイトのニュース?どこかに鏡がありますか?私はそれを指し示すいくつかのポストを持っていて、あなたのgithubプロファイルにリンクするようにそれらを編集しました。それは今のところ最高の場所ですか? –
@Pekka、そうです。新しい家はおそらくlabs.dougneiner.com/downloadifyにあります。私はその名前を更新しないための馬鹿みたいな気がします...私がした時までには、それは数日遅れました。 #fail –