浏览代码

Added NSData(bytes: [UInt8]) -> NSData

Marcin Krzyżanowski 10 年之前
父节点
当前提交
c2b792dc61
共有 3 个文件被更改,包括 10 次插入1 次删除
  1. 4 0
      CryptoSwift/Foundation/NSData+Extension.swift
  2. 5 0
      CryptoSwiftTests/ExtensionsTest.swift
  3. 1 1
      README.md

+ 4 - 0
CryptoSwift/Foundation/NSData+Extension.swift

@@ -98,6 +98,10 @@ extension NSData {
         self.getBytes(&bytesArray, length:count * sizeof(UInt8))
         return bytesArray
     }
+
+    public convenience init(bytes: [UInt8]) {
+        self.init(data: NSData.withBytes(bytes))
+    }
     
     class public func withBytes(bytes: [UInt8]) -> NSData {
         return NSData(bytes: bytes, length: bytes.count)

+ 5 - 0
CryptoSwiftTests/ExtensionsTest.swift

@@ -84,4 +84,9 @@ final class ExtensionsTest: XCTestCase {
         XCTAssert(result[0] == 117506305, "Invalid conversion")
         XCTAssert(result[1] == 84148994, "Invalid conversion")
     }
+
+    func test_NSData_init() {
+        let data = NSData(bytes: [0x01, 0x02, 0x03])
+        XCTAssert(data.length == 3, "Invalid data")
+    }
 }

+ 1 - 1
README.md

@@ -229,7 +229,7 @@ let mac = try! Authenticator.Poly1305(key: key).authenticate(input)
 For you convenience CryptoSwift provide two function to easily convert array of bytes to NSData and other way around:
 
 ```swift
-let data  = NSData.withBytes([0x01,0x02,0x03])
+let data = NSData(bytes: [0x01, 0x02, 0x03])
 let bytes:[UInt8] = data.arrayOfBytes()
 ```