1

教程中有以下声明:

-(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"意味着“给我参考而不是价值”之类的东西?

4

1 回答 1

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 是一个布尔值,友好的文本“原子地”(仍然没有什么特别的)暗示布尔值决定是否原子地写入文件。

于 2013-01-16T15:00:14.823 回答