Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/nsomar/Collection-Each
Adding ruby style each iterator to Cocoa/Cocoa touch Swift Array and Range classes, And Int.times{} to Int class
https://github.com/nsomar/Collection-Each
Last synced: 9 days ago
JSON representation
Adding ruby style each iterator to Cocoa/Cocoa touch Swift Array and Range classes, And Int.times{} to Int class
- Host: GitHub
- URL: https://github.com/nsomar/Collection-Each
- Owner: nsomar
- Created: 2014-06-03T22:34:52.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2014-06-07T02:34:35.000Z (over 10 years ago)
- Last Synced: 2024-10-30T00:36:24.927Z (10 days ago)
- Language: Swift
- Homepage:
- Size: 172 KB
- Stars: 65
- Watchers: 4
- Forks: 2
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-swift-cn - Collection Each - add each func to collections. (Libs / Utility)
README
Collection-Each
===============Adding ruby style each iterator to Cocoa/Cocoa touch Swift Array, Dictionary and Range classes, and `Int.times`
###Why?
Array/Dictionary and Ranges in ruby have an `each` method that accepts a block as a parameter and calls this block passing the value of the item at that index.
This method is missing in swift, By extending `Array`, `Dictionary` and `Range` classes we can implement this method.
By extending `Int` we can add `times` and `timeWithIndex`
###Usage
Array.each
//Iterate and pass the item
["Apples", "Oranges", "Mangos"].each{ println("Item \($0)") }
Array.eachWithIndex//Iterate and pass the item and its index
["Apples", "Oranges", "Mangos"].eachWithIndex{ println("Item \($0) at Index \($1)") }Dictionary.each
//Iterate and pass the item
["key1":1, "Key2":2, "Key3":3].each{ println("Key \($0) at Value \($1)") }
Int.times3.times{ /* do something */ }
Int.times3.timesWithIndex{ println("Index \($0)") }
Range.each//Iterate and pass the index
(1...10).each{ println("Index \($0)") }
###How to add?
Just add `Collection+Each.swift` to your project and the extensions will be enabled in all your `.swift` files