小编Ham*_*mid的帖子

Swift 3制作sha1,sha256和md5功能

在Swift 2中,我使用以下代码来扩展字符串变量,并能够生成sha1,sha256和md5.

移动到swift 3后,代码不再工作了!我试图转换它但遇到连续错误.

知道怎么解决这个问题?

extension NSData {
    func hexString() -> String {
        var string = String()
        for i in UnsafeBufferPointer<UInt8>(start: UnsafeMutablePointer<UInt8>(bytes), count: length) {
            string += Int(i).hexString()
        }
        return string
    }

    func MD5() -> NSData {
        let result = NSMutableData(length: Int(CC_MD5_DIGEST_LENGTH))!
        CC_MD5(bytes, CC_LONG(length), UnsafeMutablePointer<UInt8>(result.mutableBytes))
        return NSData(data: result)
    }

    func SHA1() -> NSData {
        let result = NSMutableData(length: Int(CC_SHA1_DIGEST_LENGTH))!
        CC_SHA1(bytes, CC_LONG(length), UnsafeMutablePointer<UInt8>(result.mutableBytes))
        return NSData(data: result)
    }

    func SHA256() -> NSData {
        let result = NSMutableData(length: Int(CC_SHA256_DIGEST_LENGTH))
        CC_SHA256(bytes, CC_LONG(length), UnsafeMutablePointer(result!.mutableBytes))
        return …
Run Code Online (Sandbox Code Playgroud)

swift3

10
推荐指数
1
解决办法
1万
查看次数

swift 3将json参数发布到api

我需要将以下json传递给此函数,以便Shopify Api可以理解提交.

每次执行此代码时,都会收到一条错误消息,指出缺少必需参数.显然,我无法创建正确的变量格式并将其传递给服务器.

Shopify API期望通过POST传递以下json

{
    "customer": {
        "first_name": "Steve",
        "last_name": "Lastnameson",
        "email": "steve.lastnameson@example.com",
        "verified_email": true,
        "addresses": [
            {
                "address1": "123 Oak St",
                "city": "Ottawa",
                "province": "ON",
                "phone": "555-1212",
                "zip": "123 ABC",
                "last_name": "Lastnameson",
                "first_name": "Mother",
                "country": "CA"
            }
        ]
    }
}
Run Code Online (Sandbox Code Playgroud)

这是我的发布代码:

let customer = [
    "customer": [
        "first_name": "Steve",
        "last_name": "Lastnameson",
        "email": "steve.lastnameson@example.com",
        "verified_email": "true",
        "addresses": [
            [
                "address1": "123 Oak St",
                "city": "Ottawa",
                "province": "ON",
                "phone": "555-1212",
                "zip": "123 ABC",
                "last_name": "Lastnameson",
                "first_name": "Mother",
                "country": "CA",
            ], …
Run Code Online (Sandbox Code Playgroud)

json swift3

5
推荐指数
1
解决办法
5132
查看次数

从HUGE数据库表中读取

我正在使用LINQ来访问我的数据库表.有些表可能有(数十万)记录.

使用如下语句从表中读取:

var records = db.Logs;
Run Code Online (Sandbox Code Playgroud)

将使应用程序非常慢.它将立即加载所有记录.

我需要使用多个条件来过滤结果,例如:

if (UserID != null)
{
    records = records.Where(r => r.User == UserID);
}

if (UserIP != null)
{
    records = records.Where(r => r.IP   == UserIP);
}
Run Code Online (Sandbox Code Playgroud)

问题是我从表中的第一次读取将带给我所有记录,并将使应用程序非常慢.

有没有办法在LINQ语句中创建条件(if,switch),就像我们以前的SQL语句一样?

这是多久以来创建的逻辑:

string sql = "SELECT * FROM Log WHERE 1=1";
if (UserID != null)
{
    sql += " AND User = '" + UserID + "'";
}

if (UserIP != null)
{
    sql += " AND IP = '" + UserIP + "'";
} …
Run Code Online (Sandbox Code Playgroud)

c# linq asp.net asp.net-mvc asp.net-mvc-3

3
推荐指数
1
解决办法
1117
查看次数

标签 统计

swift3 ×2

asp.net ×1

asp.net-mvc ×1

asp.net-mvc-3 ×1

c# ×1

json ×1

linq ×1