我使用[self.publicDB addOperation:modifyOperations];
来保存一组记录,如果我有互联网连接,一切正常并且正在调用完成块。但是,如果我没有连接,则不会调用完成块,并且我无法获得有关我的操作失败的任何信息。
我在完成块中使用以下代码
SEVERE: Exception while deploying the app [CRUBWEB] : Exception [EclipseLink-28019] (Eclipse Persistence Services - 2.5.0.v20130507-3faac2b): org.eclipse.persistence.exceptions.EntityManagerSetupException
Exception Description: Deployment of PersistenceUnit [CRUBWEBPU] failed. Close all factories for this PersistenceUnit.
Internal Exception: Exception [EclipseLink-0] (Eclipse Persistence Services - 2.5.0.v20130507-3faac2b): org.eclipse.persistence.exceptions.JPQLException
Exception Description: Problem compiling [SELECT e FROM custt e].
[14, 19] The abstract schema type 'custt' is unknown.
然后我使用
执行操作void setup(){
Object[] array = new Object[3];
array[0] = true;
array[1] = 1.0;
array[2] = "hello";
if(array[0] instanceof Boolean){
println((Boolean)array[0]);
}
}
如果操作失败,如何在没有互联网连接的情况下如何获取信息?
答案 0 :(得分:6)
默认情况下,CloudKit操作的qualityOfService
属性设置为NSQualityOfServiceUtility
。
使用NSQualityOfServiceUtility
或NSQualityOfServiceBackground
的操作可能会被标记为使用discretionary network requests。如果网络连接较差,系统可以保留随意的网络请求,因此在条件改善并且系统发送请求之前,您可能无法从服务器获得响应。
如果您希望在所有情况下立即发送请求,请将CKOperation.qualityOfService
设置为NSQualityOfServiceUserInitiated
或NSQualityOfServiceUserInteractive
。