我有一个使用核心数据的os x应用程序.
我的应用程序中有3个.xib文件,它们是:
1. MainMenu.xib
2. MasterTableViewController.xib
3. DetailViewController.xib
Run Code Online (Sandbox Code Playgroud)
启动时,app会显示一个包含NSTableView的视图,其中包含几条记录.
我将该视图命名为MasterTableViewController
我希望当用户双击该行时,隐藏"主"视图并显示我的"详细信息"视图.我将该视图命名为DetailViewController.
双击"主"视图中NSTableView中的行时,没有任何反应,"主"视图仍然可见.我想要的是"主"视图消失,并且"细节"视图出现.
这是我现在的代码,更多解释如下:
AppDelegate.h
#import <Cocoa/Cocoa.h>
@interface AppDelegate : NSObject <NSApplicationDelegate>
@property (readonly, strong, nonatomic) NSPersistentStoreCoordinator *persistentStoreCoordinator;
@property (readonly, strong, nonatomic) NSManagedObjectModel *managedObjectModel;
@property (readonly, strong, nonatomic) NSManagedObjectContext *managedObjectContext;
@property (nonatomic,strong) NSViewController *mainAppViewController;
@property (weak) IBOutlet NSView *mainAppView;
- (void)changeViewController:(NSInteger)tag;
@property (weak) IBOutlet NSTableView *websitesTableView;
- (void)tableViewDoubleClick:(id)nid;
@end
Run Code Online (Sandbox Code Playgroud)
AppDelegate.m
#import "AppDelegate.h"
#import "MasterTableViewController.h"
#import "DetailViewController.h"
@interface AppDelegate ()
@property (weak) IBOutlet NSWindow *window;
- (IBAction)saveAction:(id)sender;
@end
@implementation AppDelegate
NSString …Run Code Online (Sandbox Code Playgroud) 我发现如果我使用可转换类型的属性和NSXMLStoreType我的数据是加密的,那就是可转换类型的属性,是不可读的.不需要做任何其他事情,不需要代码.请注意,我正在使用使用核心数据的OS-X应用程序.
但是,如果我将我的商店类型更改为NSSQLiteStoreType,则情况并非如此.
我可以用sqllitebrowser打开数据库,选择可转换字段,如果我点击导出按钮,在生成的文本文件中,我可以正常读取值,即值(数据)未加密.
大约4个月前我问了同样的问题而我没有回答.
另外,我在stackoverflow上找到了这篇文章.
您可以通过创建可转换属性来加密Core Data模型实体中的各个属性,然后创建NSValueTransformer子类,该子类将加密和解密该属性的数据.
对我来说不幸的是,答案的作者@Brad Larson没有提供一个如何做到这一点的简单例子.
任何人都可以提供任何示例代码,说明如何加密可转换属性,以便它无法以任何方式读取?
我在这里问了一个问题,并设法部分实施了这个建议.在我删除aes-256加密并且保留aes-128(默认)codeigniter加密后,数据现在以二进制字段(varbinary(500))加密存储.
但是,我有一些问题,我找不到答案,因为我找不到很多关于这个主题的文章,所以如果有人能回答我的问题,或者指点我的书,或任何其他文献进一步阅读,我会非常感激的.
为什么加密数据必须存储在二进制类型字段中?将它存储在longtext或varchar中有什么问题?这会使加密变得毫无价值吗?
为什么我必须首先对变量进行编码,然后在将数据存储在二进制类型的字段中时对其进行加密,当我将数据存储在varchar字段中时,我不必这样做?
base64_encode($clientName);
$encClientName = $this->encryption->encrypt($clientName);
Run Code Online (Sandbox Code Playgroud)在我之前的问题中(请参阅顶部的链接)我被建议使用nonce.由于我不知道如何使用codeigniter库,我没有实现该部分.这会使我的数据安全性降低吗?任何人都可以发布任何片段代码如何使用nonce与codeigniter?
再次,任何关于这个主题的阅读材料的链接(用PHP存储加密数据在数据库中)将深受赞赏.
我的页面上有2个div,如果禁用了javascript,则应显示一个div,如果未禁用javascript,则显示另一个div.
我的问题是:即使未禁用javascript,也会短暂显示包含禁用javascript消息的div,并且在加载页面后隐藏几秒钟.
这是我的html(简化版):
<html>
<head>
<body>
<!-- This div is displayed only if the JavaScript is DISABLED -->
<div class="wrapper-page" id="no-js">
<p class="text-muted m-b-0 font-13 m-t-20" style="color:red !important;font-weight: bold;">
JavaScript has been disabled message.....
</p>
</div>
<!-- end no-js div -->
<!-- This div is hidden by default, and is displayed only if the JavaScript is ENABLED -->
<div class="wrapper-page" id="wrapper-page" style="display:none;">
<p>My regular content goes here...</p>
</div>
<!-- end wrapper page -->
<script src="<?php echo base_url(); ?>backOffice/assets/js/jquery.min.js"></script>
<!-- If …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用2个表,类别和产品构建查询:
分类
catid
parentid
categoryname
description
catid parentid categoryname
=============================
39 0 MyCatName1
=============================
43 39 MyCatName2
=============================
40 0 MyCatName3
=============================
41 0 MyCatName4
=============================
42 39 MyCatName5
Run Code Online (Sandbox Code Playgroud)
制品
productid
catid
productname
shortdescription
description
Run Code Online (Sandbox Code Playgroud)
我想从products父表id为39 的表中获取所有产品,但正如您所看到的,catid表中没有父项products.我也应该得到类别名称.我该如何构建查询?
cocoa ×2
encryption ×2
mysql ×2
codeigniter ×1
core-data ×1
cryptography ×1
css ×1
html ×1
javascript ×1
join ×1
jquery ×1
macos ×1
nstableview ×1
objective-c ×1
php ×1