在tutorial中有以下声明:
-(BOOL)writeToFile:(NSString *)path atomically:(BOOL)useAuxiliaryFile;
我正在解释这一点,因为writeToFile
方法返回BOOL
结果。它需要2个参数。第一个是NSString
引用。第二个是调用atomically
并传递BOOL
值的结果。
我做对了吗?
本教程继续说你像上面这样调用上面的方法:
BOOL result = [myData writeToFile:@"/tmp/log.txt" atomically:NO];
找到了。但我想知道我是否必须使用“原子地:不”
我可以做一些像
这样的事吗resultOfAtomically = atomically:NO
BOOL result = [ myData writeToFile:@"/tmp/log.txt" resultOfAtomically ];
假设我正确地宣布了resultOfAtomically
。
此外,将@
添加到"/tmp/log.txt"
是否意味着“给我参考而不是价值”?
答案 0 :(得分:2)
文本atomically
引入了writeToFile:atomically:
方法的第二个参数,它不是一个单独的函数。因此,您无法简单地拨打atomically:NO
。但这是正确的:
BOOL myBool = NO;
BOOL result = [myData writeToFile:@"/tmp/log.txt" atomically:myBool];
在谈论Objective-C方法时,你不会将此方法称为“writeToFile”,你会称之为“writeToFile:atomically:”。通过这种语法,您知道该方法需要两个参数(每个冒号一个)。
这是一种思考方法声明如何分解的方法:
-(BOOL)writeToFile:(NSString *)path atomically:(BOOL)useAuxiliaryFile;
-
=定义实例方法(+
将用于类方法)。
(BOOL)
=返回一个布尔值。
write
=这个方法是关于写一些东西(没什么神奇的,只是一个友好的单词选择 - 可能是print
或其他东西)。
ToFile:(NSString *)path
=方法的第一个参数path是一个NSString指针和友好文本“ToFile”(再次只是一个单词选择,没有什么特别的)提示我需要提供一个文件路径参数。
atomically:(BOOL)useAuxiliaryFile;
=方法的第二个参数useAuxiliaryFile是一个布尔值,友好文本“atomically”(仍然没什么特别的)暗示布尔值决定是否以原子方式写入文件。