typedefing块的命名约定是什么?

时间:2014-04-16 18:30:24

标签: objective-c naming-conventions objective-c-blocks typedef

我用typedef声明了很多块类型;是否有任何类型的命名约定?

3 个答案:

答案 0 :(得分:0)

请参阅Apple的文档Enumerated constantsNaming Properties and Data Types

我无法在Apple的文档中找到任何内容,但我从AppCelerator开了一个鳍。

答案 1 :(得分:0)

来自Apple doc它的CamelCase具有Objective-C命名约定样式(显式/详细)

答案 2 :(得分:0)

在做了大量研究之后,似乎Apple没有对它们的块进行类型化,并且更喜欢在显式位置使用它们。他们的Cocoa风格指南也没有提到类型化的块。

例如,从NSURLSessionTaskDelegate

中查看NSURLSession.h中的此方法
- (void)URLSession:(NSURLSession *)session task:(NSURLSessionTask *)task
                     willPerformHTTPRedirection:(NSHTTPURLResponse *)response
                                     newRequest:(NSURLRequest *)request
                              completionHandler:(void (^)(NSURLRequest * _Nullable))completionHandler;

请注意,completionHandler没有收到typedef。

在我看来,如果定义可以立即重复使用,那么键入一个块是有意义的,并且通用性足以在多个地方使用。