Swift与Objective-C中的闭包
2024-10-10 16:21:02
Swift Code:
func makeIncrementor(forIncrement amount: Int) -> (() -> Int,() -> Int) { var runningTotal = func incrementor() -> Int { runningTotal += amount return runningTotal } func decrementor()->Int{ runningTotal -= amount return runningTotal } runningTotal += ; return (incrementor,decrementor) } let counter = makeIncrementor(forIncrement: ); let a1 = counter.(); assert(a1==, "a1") let a2 = counter.(); assert(a2==, "a2") let a3 = counter.(); assert(a3==, "a3") let c1 = counter.(); assert(c1==, "c1")
Objective-C Code:
__block int runningTotal = ; int (^incrementor)() = ^(){
return ++runningTotal;
}; int (^decrementor)() = ^(){
return --runningTotal;
};
runningTotal=;
int a1 = incrementor();
int a2 = incrementor();
int a3 = incrementor();
int c1 = decrementor();
最新文章
- MysqlNDB集群配置
- FUND
- JavaScript 开发者经常忽略或误用的七个基础知识点(转)
- Python缩小图像
- DELPHI设置枚举类型size
- Android_adb shell am/pm使用
- SQLite3中自增主键
- SQLite入门与分析(二)---设计与概念
- Nginx+tomcat 做负载均衡
- Java Interface and Abstraction
- servlet和手动创建servlet,断点调试
- 怎样把echarts图表做成响应式的
- KNN--用于手写数字识别
- ASP.NET MVC5高级编程 之 HTML辅助方法
- iOS Runtime(一)、objc_class深深的误解
- Linux 查看进程运行的完整路径方法
- sublime ctags跳转函数使用
- JMeter学习(二十一)关联(转载)
- spring+dubbo整合
- MySQL开发面试题