小编net*_*000的帖子

NSValueTranformer用于加密数据

我想借助NSValueTransformer加密一些核心数据列.我的想法是,我使用数据类型转换,并为我的数据类型定义一些转换器.在转换方法中,我想加密/解密该值.我定义了一个实际上什么也没做的变压器 - 目前没有实现加密功能.

@implementation StringCryptoTransformer

+ (Class)transformedValueClass { return [NSString class]; }


+ (BOOL)allowsReverseTransformation { return YES; }


- (NSString*)transformedValue:(id)value {

    NSLog(@"Transformer: %@",value);

    if([value isKindOfClass:[NSString class]]){
        return value;
    }
    return nil;
}     

- (NSString*)reverseTransformedValue:(id)value
{
    return value;
}
Run Code Online (Sandbox Code Playgroud)

方法

- (NSString*)transformedValue:(id)value
Run Code Online (Sandbox Code Playgroud)

使用有效值调用但在获取对象时出现此错误:

*由于未捕获的异常'NSInvalidArgumentException'终止应用程序,原因:' - [__ NSCFString bytes]:无法识别的选择器发送到实例0xf5859f0'

有什么想法有什么不对?

编辑:

我意识到我必须转换为NSData,反之亦然.现在它工作正常

- (id)transformedValue:(id)value {

    NSData *data =  [((NSString*)value) dataUsingEncoding:NSUTF8StringEncoding];
    return [CryptoUtils encryptWithKey:self.key data:data];
}


- (id)reverseTransformedValue:(id)value
{
    NSData *data = [CryptoUtils decryptWithKey:self.key data:value];
    return [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
}
Run Code Online (Sandbox Code Playgroud)

core-data ios nsvaluetransformer

2
推荐指数
1
解决办法
1214
查看次数

角度:404页面,但保留网址

我在Angular 4中编写了一个自定义404页面,并希望保留输入的错误URL。例如,您可以在github上查看行为。它们显示不存在的URL的404页面。示例:https//github.com/cdkdfjkdjf

目前,我将路由器配置为:

{ path: '404', component: NotFoundComponent },
{ path: '**', redirectTo: '404' }
Run Code Online (Sandbox Code Playgroud)

知道如何存档吗?

javascript angular

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

Alamofire:创建一系列词典

需要发送到服务器的JSON是这样的:

[
    {
        "value": "0",
        "optionId": "de07a0ae-9b85-4f2a-bd8f-28f0ccb55f81"
    },
    {
        "value": "1",
        "optionId": "abe075ef-d76e-45e0-ace9-e73218604b87"
    },
    {
        "value": "0",
        "optionId": "820124a6-a6ed-499e-8d0d-7ac04160f56d"
    },
    {
        "value": "0",
        "optionId": "0d8cb27a-2659-4e54-a4f0-0b0a10131da5"
    }
]
Run Code Online (Sandbox Code Playgroud)

所以我创建了一个Dictionaries数组:

var parameters = [[String:NSObject]]()
Run Code Online (Sandbox Code Playgroud)

但Alamofire只接受字典.有没有办法自己做JSON编码把它作为参数传递给Alamofire?或者你会如何解决它?

无法将'[[String:NSObject]]'类型的值转换为预期的参数类型'[String:AnyObject]?'

swift alamofire

0
推荐指数
1
解决办法
1964
查看次数

Swift:将日期数组按月数组分组

给定:日期数组:[date1,date2,date3,...,dateN]

想要的:日期在[[date1,date2],[date3],...]内的月份数组,其中一个月的所有天都应在同一月份的数组内。

有办法做到这一点吗?我认为命令式的方法将很复杂。

swift

-6
推荐指数
1
解决办法
1616
查看次数