我用…………+dictionaryWithObjectsAndKeys:生成的两个 NSDictionaries 有什么区别吗?
编译器使用+[NSDictionary dictionaryWithObjects:forKeys:count:]. 所以'问题'是你在这些文字表达式中使用的参数/值不能是nil. 使用+[NSDictionary dictionaryWithObjectsAndKeys:]时,遇到 nil 时输入停止。nil将文本表达式作为键或值传递给文本表达式是错误的。这可能会改变您的程序(因为通过 va_lists 创建字典的语义不同),但更严格的语义可能会导致检测错误,而不是任何事情。
我需要担心内存泄漏吗?我正在使用ARC。
在某些情况下,您可能需要一个自动释放池——这取决于您创建它的上下文。
使用它将应用程序提交到 App Store 是否安全,还是会被视为“未记录的 API”?
您将需要 Apple-Clang 4.0 (Xcode 4.4)。它与所有版本的 OS X 和 iOS 兼容:
http://developer.apple.com/library/ios/#releasenotes/ObjectiveC/ObjCAvailabilityIndex/_index.html
更多细节在这里:http ://clang.llvm.org/docs/ObjectiveCLiterals.html