小编geo*_*geo的帖子

NSManagedObjectContext无法正确刷新

嗨:)我有一个类似的问题,如在多个选项卡
背景中使用相同的NSManagedObjectContext:
我的managedObjectContext(进一步的MOC)在我的appDelegate类中初始化并通过
myViewController.managedObjectContext = self.managedObjectContext;或在init方法中传递到多个选项卡,self.managedObjectContext = pContext; 流程是:第一个视图是一个简单的集合列表.使用NSFetchedResultsController(myViewController : UITableViewController<NSFetchedResultsControllerDelegate>)获取集合.通过选择一个,您可以更深入地导航,但仍然通过此MOC.
在下一个控制器(detailsViewController)中,我列出了这个集合的一些项目,我可以与之交互(例如设置开关).
我还有一个editObjectContext:

// DetailsViewController.m
NSManagedObjectContext* editingContext = [[NSManagedObjectContext alloc] init];
[editingContext setPersistentStoreCoordinator:[managedObjectContext persistentStoreCoordinator]];
self.editingObjectContext = editingContext;
Run Code Online (Sandbox Code Playgroud)

现在我的问题:因为我的视图必须旋转,我正在使用以下技巧:

// DetailsViewController.m
DetailsView *localAct = [[DetailsView alloc] initWithManagedObjectContext:managedObjectContext ... ]
DetailsView *localSen = [[DetailsView alloc] initWithManagedObjectContext:managedObjectContext ... ]

UITableView *localContainerView = [[UITableView alloc] init];
self.containerView = localContainerView;
[localContainerView release];
//[...]
[containerView addSubview:actuatorView];
self.tableView = containerView;
Run Code Online (Sandbox Code Playgroud)

我还有一个按钮来管理这些项目(其中哪些应显示,哪些不显示).这个按钮只是用新的fetchResult重新加载表.

// DetailsView.m
- (void) manageItems{
managing = !managing;
[viewController …
Run Code Online (Sandbox Code Playgroud)

iphone merge conflict objective-c nsmanagedobjectcontext

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

Objective-C:在TLS TCP连接上生成由我们自己的PKI(根CA)签名的服务器证书

*解决*

我的问题是引用以下问题:
Objective-C:如何使用签名者的公钥验证SecCertificateRef?

我们拥有自己的PKI,因此我们信任自己的rootCA.使用此rootCA,我们将签署提供给个人服务器的证书.现在我想连接iOS应用程序并检查从服务器发送的证书是否已使用我们的CA签名.

我的应用程序应该能够使用由此建立的TCP连接连接到具有此证书的n个服务器(可能使用零配置服务找到)GCDAsyncSocket.我在我的应用程序中有公共部分证书,我想添加到我的"CertChain",以便应用程序在连接时信任它们.

我已经尝试了很多,但我仍然无法通过SecTrustEvaluate(trust, &result);有效的结果.(我想在生产中使用它,所以请不要告诉我有关停用验证的任何信息)

我的证书:
在app中:rootCA,
服务器上的oldServerCA(cer)(通过信任):homeServer,oldServer

我的证书链:
rootCA签名homeServer
oldServerCA签名oldServer

我的代码部分:
添加了更新

- (void)socket:(GCDAsyncSocket *)sock didConnectToHost:(NSString *)host port:(uint16_t)port;
{
// Configure SSL/TLS settings
NSMutableDictionary *settings = [NSMutableDictionary dictionaryWithCapacity:3];

// Allow self-signed certificates
[settings setObject:[NSNumber numberWithBool:YES]
             forKey:GCDAsyncSocketManuallyEvaluateTrust];

[sock startTLS:settings];

// get the certificates as data for further operations
NSString *certFilePath1 = [[NSBundle mainBundle] pathForResource:@"rootCA" ofType:@"cer"]; // also tried it with 'der', same result
NSData *certData1 = …
Run Code Online (Sandbox Code Playgroud)

tcp objective-c self-signed ios gcdasyncsocket

5
推荐指数
2
解决办法
5226
查看次数

如何在使用UIDatePicker时禁用键盘但启用UITextField?

这个很难解释,因此请提出您需要的任何问题来澄清问题.我有一个iPad应用程序(XCode 4.2,iOS 6,ARC和Storyboards).

在这个应用程序中,我有一个UIPopover包含UIView两个(2)UITextFields和一个UIDatePicker.(见图).当我去那个场景时,我已经取消选中userInteractionEnabled两个textFields以防止键盘响应,这有效,但不允许UITextField在第一个之后访问另一个.我尝试了[oFinishTime setInputView:oTimePicker];但它需要时间戳并将其移到弹出窗口之外,这是不可接受的.

图像显示2个uiviews和一个datepicker

touchUpInside为每个textField都设置了"有线"事件,但由于未选中UserInteractionEnabled,因此在点击时都不会调用任何事件.如果我可以启用它并在动作事件中设置一个标志,我可以补救这一切.

如何启用这两个功能UITextFields但是阻止键盘显示?我很乐意发布您需要查看的任何相关代码.

xcode uidatepicker uitextfield ios

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