Popularity
5.8
Growing
Activity
0.0
Stable
559
12
62

Code Quality Rank: L5
Programming language: Swift
License: MIT License
Tags: Utility    
Latest version: v1.0.0

SwiftRandom alternatives and similar libraries

Based on the "Utility" category.
Alternatively, view SwiftRandom alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of SwiftRandom or a related project?

Add another 'Utility' Library

README

SwiftRandom

Carthage compatible CocoaPods Compatible

SwiftRandom is a tiny help suite for generating random data such as

  • Random human stuff like: names, gender, titles, tags, conversations
  • Random data types like: Int, CGFloat, Bool, UIColor, NSDate, NSURL, element in Array

Usage

func asExtension() {
    Int.random(2, 77) // Random between 2-77
    Int.random(2...77)
    Int32.random(13, 37) // Random between 13-37
    Int32.random(13...37)
    Double.random()
    Float.random(3.2, 4.5) // Random between 3.2-4.5
    CGFloat.random()
    NSDate.random()
    NSDate.randomWithinDaysBeforeToday(7)
    NSDate.random(between: Date().addingTimeInterval(TimeInterval(-5*24*60*60)), and:Date()) // Random date between now and 5 days ago
    UIColor.random()
    NSURL.random()

    // Array Extensions
    var someArray = ["hello", "world"]
    someArray[0..<someArray.count].randomItem() // Array slice
    someArray.randomItem()

    // String Extensions
    String.random(ofLength: 16)
    String.random(minimumLength: 16, maximumLength: 32)
    String.random(withCharactersInString: "abc", ofLength: 16)
    String.random(withCharactersInString: "abc", minimumLength: 16, maximumLength: 32)
}
func asMethods() {
    // Return random Int >= 10 and <= 20
    // Example Output: 13
    Randoms.randomInt(10,20)

    // Return random Int32 >= 10 and <= 20
    // Example Output: 13
    Randoms.randomInt32(10,20)

    // Returns a random 16 character long string containing alphanumeric characters 
    Randoms.randomString(ofLength: 16)

    // Returns a random string containing alphanumeric characters ranging in length from 16 to 32.
    Randoms.randomString(minimumLength: 16, maximumLength: 32)

    // Returns a random 16 character long string containing the specified characters
    Randoms.randomString(withCharactersInString: "abc", ofLength: 16)

    // Returns a random string of length between 16 and 32 containing the specified characters
    Randoms.randomString(withCharactersInString: "abc", minimumLength: 16, maximumLength: 32)

    // Return random Double >= 10 and <= 20
    // Example Output: 11.511219042938
    Randoms.randomDouble(10,20)

    // Return random Float >= 10 and <= 20
    // Example Output: 17.0361
    Randoms.randomFloat(10,20)

    // Return random CGFloat between 1 >= and >= 0
    // Example Output: 0.622616
    Randoms.randomCGFloat()

    // Return true 30%, false %70
    // Example Output: false
    Randoms.randomPercentageisOver(70)

    // Return true or false
    // Example Output: false
    Randoms.randomBool()

    // Return random NSDate today > and > today - 7.
    // Example Output: 2015-10-08 03:55:09 +0000
    Randoms.randomDateWithinDaysBeforeToday(7)

    // Random Date since 1970
    // Example Output: 1997-02-01 15:27:08 +0000
    Randoms.randomDate()

    // Return UIColor. Alpha channel always 1.
    // Example Output: UIDeviceRGBColorSpace 0.645737 0.126625 0.52535 1
    Randoms.randomColor()

    // Return random NSURL
    // Example Output: http://leagueoflegends.com/
    Randoms.randomNSURL()

    // ==================== Fake Generators for Fake Datasources ==================== //

    // Return random name
    // Example Output: "Megan Freeman"
    Randoms.randomFakeName()

    // Return random first name
    // Example Output: "Megan"
    Randoms.randomFakeFirstName()

    // Return random last name
    // Example Output: "Freeman"
    Randoms.randomFakeLastName()

    // Return random fake name prefixed by English honorific
    // Example Output: "Dr. Megan Freeman"
    Randoms.randomFakeNameAndEnglishHonorific()

    // Return "Male" or "Female" as String
    // Example Output: "Female"
    Randoms.randomFakeGender()

    // Return random conversation
    // Example Output: "No! I'm tired of doing what you say."
    Randoms.randomFakeConversation()

    // Return random title
    // Example Output: "B2 Pilot @ USAF"
    Randoms.randomFakeTitle()

    // Return random tag as string
    // Example Output: "question"
    Randoms.randomFakeTag()

    // Return random currency as String
    // Example Output: "EUR"
    Randoms.randomCurrency()

    // Return random (non-existing) gravatar as UIImage?
    // The image is optional in case of network issues
    Randoms.randomGravatar { (image, error) -> Void in
        // Handle the image/error
    }

    // For consistance behaviour you can create custom Gravatar
    Randoms.createGravatar(Randoms.GravatarStyle.Retro) { (image, error) -> Void in
        // Handle the image/error
    }
}

Requirements

  • Swift version 2.0

Installation

Install via Carthage

  • Create a Cartfile with the following specification and run carthage update.
github "thellimist/SwiftRandom" >= 1.0.0
  • Follow the instructions to add the framework to an iOS project.

Install via CocoaPods

You can use CocoaPods to install SwiftRandom by adding it to your Podfile:

platform :ios, '8.0'
use_frameworks!
pod  'SwiftRandom' #Stable release for Swift 3.0

To download older version you can use

pod 'SwiftRandom', :git => 'https://github.com/thellimist/SwiftRandom.git' #Latest release for Swift 3.0
pod 'SwiftRandom', :git => 'https://github.com/thellimist/SwiftRandom.git', :branch => '2.x' #For Swift 2.3

Install Manually

  • Download and drop 'Randoms.swift' in your project.

Improvement

  • Feel free adding your own random data functions and sending pull requests.
Possible features:
  • Random wildlife pictures (Should not include the image inside project, should load it from web when needed)
  • Make OSX compatiable and add here: https://github.com/AndrewSB/awesome-osx
  • Random JSON
  • Random Gifs (Should not include gifs inside the project, should load it from web when needed)
  • Random Videos (Should not include videos inside the project, should load it from web when needed)
  • Implement SwiftRandom as a protocol any class can conform to (Post.random() would give you a random post)

License

  • SwiftRandom is available under the MIT license. See the LICENSE file.

Keywords

random, swift, data, generator, faker, fake, gravatar


*Note that all licence references and agreements mentioned in the SwiftRandom README section above are relevant to that project's source code only.