作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
举个例子,不要这样写:
NSArray *someArray = @[@"1", @"2", @"3", @"4"];
[someArray enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
NSString *aString = obj;
// do something
}];
如果你知道 block 方法中的常量,你可以直接向下转换对象以使其更简洁:
[someArray enumerateObjectsUsingBlock:^(NSString *aString, NSUInteger idx, BOOL *stop) {
// do something
}];
这是否违反任何最佳实践或 oop 原则?
最佳答案
我很确定这没问题。只要您知道数组中的内容,就可以随意静态键入 id
参数。无论如何,它在一天结束时主要是语法糖。我总是静态地输入任何我能输入的东西。它可以帮助我发现错误并使内容更易于阅读。此外,正如 H2CO3 指出的那样,可以将对象分配给一个 id
并且无需强制转换即可返回。
关于objective-c - 在 block 参数内向下转换是一种不好的做法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13423478/
我试图让一个 div 元素在它位于视口(viewport)内时获得一个附加的类。为此,我使用了缩小版的 JQuery 1.11.0。 这是我的 JQuery 代码: function isScroll
正如标题所示,我无法再从 lambda 向我的 apiGateway 发出请求,因为结果返回以下响应。 \n\nERROR: The request could not be satisfied\n\
我已经看到关于该主题的其他示例/问题,但我无法让我的工作。 我有一个自定义表格 View 单元格,我在其中添加了一个标签。用户将能够触摸标签以改变其颜色。但是,当我点击它调用的标签时 didSelec
简单地说,我有一个 vector : vector> myvector 对于这个例子,它看起来像这样: myvector[ vector{1,2,3} vector{1,2,3,4,5} vector
我是一名优秀的程序员,十分优秀!