我是 iOS 新手,通过值或引用传递参数(我来自 Java/.NET 背景)让我感到困惑。你看我有一种实用程序/帮助方法,我将它传递给一个 NSMutableDictionary,然后是一个文件位置,并要求它从文件中解压缩数据到我发送给它的字典。这是辅助方法:
- (void)loadData:(NSMutableDictionary *)dictionary fromFile:(NSString *)fname {
dictionary = [ NSKeyedUnarchiver unarchiveObjectWithFile : [ self getFilePath:fname ] ] ;
if ( [dictionary.allKeys count] < 1 ) {
NSLog(@"Couldn't load file %@ ", fname);
} else {
NSLog(@"Loaded data from file %@ successfully", fname );
}
}
现在我在以下代码行中调用此方法
[ loadData: dataDict fromFile:@"data.archive"];
现在的问题是,在辅助方法结束时,我有一个名为字典的变量,它确实有值,但它不是我从调用行传递的原始字典。我究竟做错了什么?