Objective-C语言中需要的句法理解
在过去的一年里,我一直在编写应用程序,但我第一次遇到一个奇怪的选择器参数Objective-C语言中需要的句法理解,objective-c,ios,xcode,syntax,Objective C,Ios,Xcode,Syntax,在过去的一年里,我一直在编写应用程序,但我第一次遇到一个奇怪的选择器参数 - (NSString *)dictionaryForString:(NSDictionary *)dictionary error:(NSError **)error 如您所见,(NSDictionary*)带有一个星号,(NSError**)带有两个星号,那么有一个或两个星号有什么区别呢 感谢此方法通过引用返回错误,也就是说,您将指针的地址传递给它,然后它(可选)设置指针值 NSError *error = nil;
- (NSString *)dictionaryForString:(NSDictionary *)dictionary error:(NSError **)error
如您所见,(NSDictionary*)
带有一个星号,(NSError**)
带有两个星号,那么有一个或两个星号有什么区别呢
感谢此方法通过引用返回错误,也就是说,您将指针的地址传递给它,然后它(可选)设置指针值
NSError *error = nil;
NSString *result = [obj dictionaryForString: dict error: &error];
if (!result)
NSLog(@"%@", error);
这是一种常见的C实践。此方法通过引用返回一个错误,即,您将指针的地址传递给它,然后它(可选)设置指针值
NSError *error = nil;
NSString *result = [obj dictionaryForString: dict error: &error];
if (!result)
NSLog(@"%@", error);
这是一种常见的C实践。