0

我在输出中有这个警告,但它没有作为“问题”出现(我目前没有问题)。但是在我的输出中我得到:

Warning: Attempt to present <DeviceDetailViewController: 0x84a7340> on   <UINavigationController: 0x74a14f0> while a presentation is in progress!

虽然它不会在崩溃或警告/问题方面影响我的代码,但它困扰着我!

谢谢大家!

我在谷歌上进行了搜索,听到并没有找到任何关于这个问题的内容——类似的问题,但没有帮助。

更新的问题:

我的代码中有这个:

#pragma mark - Segue

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    if ([[segue identifier] isEqualToString:@"UpdateRecords"]) {
        NSManagedObject *selectedDevice = [self.devices objectAtIndex:[[self.tableView   indexPathForSelectedRow] row]];
    DeviceDetailViewController *destViewController = segue.destinationViewController;
    destViewController.device = selectedDevice;
}
}

- (IBAction)addButtonPressed:(id)sender {

[self performSegueWithIdentifier:@"register" sender:self];
}

如果没有用户,addButton 方法“注册”(执行注册序列)用户,并且更新注册序列进入同一屏幕,但允许您更新详细信息。

希望我清楚。


Jersey 客户端在 Java Webstart 上运行时不工作

我有一个 Glassfish 3 服务器运行 Jersey Rest 网络服务。

我有一个作为客户端运行的摇摆应用程序。

我可以做我编写应用程序要做的所有事情。(添加、删除、编辑、查看)一切都按预期工作。

我想用 Java Webstart 分发 Swing 应用程序。

在 netbeans 中,我使用 webstart 运行我的应用程序并收到以下错误:

com.sun.jersey.api.client.ClientHandlerException: A message body reader for Java class       java.util.List, and Java type java.util.List<za.co.lunginstitute.restbeans.Patient>, and MIME media  type application/json was not found
    at com.sun.jersey.api.client.ClientResponse.getEntity(ClientResponse.java:561)
    at com.sun.jersey.api.client.ClientResponse.getEntity(ClientResponse.java:535)
    at za.co.lunginstitute.restclient.BaseDAO.get(BaseDAO.java:37)
    at za.co.lunginstitute.restclient.PatientsDAO.findAll(PatientsDAO.java:39)
    at     za.co.lunginstitute.gregg.xrays.gui.models.PatientDataModel.loadAll(PatientDataModel.java:37)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at za.co.lunginstitute.gregg.xrays.workers.BackgroundRunner$BGRunner.doInBackground(BackgroundRunner.java:97)
    at javax.swing.SwingWorker$1.call(Unknown Source)
    at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
    at java.util.concurrent.FutureTask.run(Unknown Source)
    at javax.swing.SwingWorker.run(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)

我在 JavaWS 6 和 7 下运行它。我使用了 JDK 和 JRE。只要我远离 webstart,一切正常。

我尝试从命令行将应用程序作为普通 java 运行,然后作为 javaws 运行。Java 工作,但 javaws 给了我这个错误。

我确实检查了类路径,检查了两次和三次。所有的图书馆都存在。

我使用了提琴手,一切都按预期工作。建立连接,返回数据,然后出现此错误 - 仅在使用 webstart 时。

4

1 回答 1

-1

解决这个问题的正确方法是不要调用故事板转场或从可能由于视图转换而调用的方法中呈现视图控制器。例如,不要显示来自viewDidLoad;的视图控制器。取而代之viewDidAppear

一个简单的技巧是将演示延迟 3/4 秒,如下所示:

double delayInSeconds = 0.75;
dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, (int64_t)(delayInSeconds * NSEC_PER_SEC));
dispatch_after(popTime, dispatch_get_main_queue(), ^(void){
    [self presentViewController:myVC animated:YES completion:nil];
});

根据您的视图层次结构,这可能会产生意想不到的副作用。

于 2013-05-30T19:20:55.577 回答