【发布时间】:2011-02-06 19:16:49
【问题描述】:
我不是 Cocoa 开发人员,但我一直在尝试为 PhoneGap 构建一些插件。这个特定的插件方法是 1) 使应用程序崩溃而不说明原因或 2) 抱怨我如何释放/不释放对象。我已经尝试了很多东西,包括使用枚举器而不是 for 循环。如果有人能指出我正确的方向,那就太棒了。我不介意跑腿:
- (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包含一个带有“keys”键的字典 - 该键包含一个字符串数组(将用作查找键)
- 我想遍历那个数组和
- 对于存在于
defaults中的每个值,使用相同的键将其复制到values - 最后,我想将
values作为 JSON 发送回(当我刚刚将整个defaults对象传入时,这部分正在工作,所以我认为 JSON 方法正在工作)
【问题讨论】:
-
很抱歉用一些完全题外话来打扰您,但是您是否碰巧在 downloadify 网站上有新闻?哪里有镜子?我有许多帖子指向它,并对其进行了编辑以链接到您的 github 个人资料。那是目前最好的位置吗?
-
@Pekka,是的,暂时。新家可能位于 labs.dougneiner.com/downloadify。我觉得自己不更新名字就像个白痴……当我这样做的时候,已经晚了几天。 #失败
标签: objective-c ios memory-management nsmutabledictionary