@@ -34,12 +34,41 @@ - (void)alertMessage:(NSString *)message {
34
34
[alert runModal ];
35
35
}
36
36
37
+ /* *
38
+ * 弹出输入密码提示框
39
+ * @param prompt 提示框标题
40
+ * @return
41
+ */
42
+ - (NSString *)inputBox : (NSString *)prompt {
43
+ NSAlert *alert = [NSAlert alertWithMessageText: prompt
44
+ defaultButton: @" OK"
45
+ alternateButton: @" Cancel"
46
+ otherButton: nil
47
+ informativeTextWithFormat: @" " ];
48
+ NSTextField *input = [[NSTextField alloc ] initWithFrame: NSMakeRect (0 , 0 , 200 , 24 )];
49
+ [alert setAccessoryView: input];
50
+ NSInteger button = [alert runModal ];
51
+ if (button == NSAlertDefaultReturn ) {
52
+ [input validateEditing ];
53
+ return [input stringValue ];
54
+ } else if (button == NSAlertAlternateReturn ) {
55
+ return nil ;
56
+ } else {
57
+ return nil ;
58
+ }
59
+ }
60
+
37
61
/* *
38
62
* 加载 mmkv 文件并刷新列表
39
63
* @param name 文件名称
40
64
*/
41
65
- (void )loadFile : (std::string)name {
42
- mmkv = MMKV::mmkvWithID (name);
66
+ NSString *cryptKey = [self inputBox: @" 请输入加密key, 如果没有加密请直接确认" ];
67
+ std::string key = cryptKey ? [cryptKey UTF8String ] : " " ;
68
+ if (mmkv) {
69
+ mmkv->close ();
70
+ }
71
+ mmkv = MMKV::mmkvWithID (name, MMKV_SINGLE_PROCESS, &key);
43
72
[_dataArray removeAllObjects ];
44
73
[_showArray removeAllObjects ];
45
74
for (id key in mmkv->allKeys ()) {
@@ -207,7 +236,7 @@ - (void)menuClick:(id)sender {
207
236
auto ptr = (uint8_t *) buffer.getPtr ();
208
237
NSString *result = [[NSString alloc ] init ];
209
238
for (int i = 0 ; i < buffer.length (); ++i) {
210
- result = [result stringByAppendingString: [NSString stringWithFormat: @" %@ " ,[[NSString alloc ] initWithFormat: @" %1lx " ,*(ptr + i)]]];
239
+ result = [result stringByAppendingString: [NSString stringWithFormat: @" %@ " , [[NSString alloc ] initWithFormat: @" %1lx " , *(ptr + i)]]];
211
240
}
212
241
_showArray[row] = result;
213
242
NSLog (@" string=%@ " , result);
0 commit comments