2016-04-07 25 views
0

Kopyalayıcı nesnesinin açıklamasını yazdırdığımda Cloudant DB'yi ve CDTReplicatorDelegate'yi kullanıyorum, bunun benzersiz bir çoğaltma oturum kimliğine sahip olduğunu görüyorum. Bu nesneyi kullanarak nasıl erişirim? Bunun için özellik yok. replicator.description arasındaÇoğaltma kimliğini, CDTReplicator nesnesinden hızlıca nasıl alabilirim?

Örnek çıktı:

CDTReplicator push, source: establishment, target: https://ighterequallockneovessin:*****@*****.cloudant.com/establishment filter name: (null), filter parameters (null), unique replication session ID: 930C1002-B0B2-4576-BE84-C0BEFBD00834

tek bir temsilci çoğaltıcı nesneleri (birden fazla) saklamak ve çoğaltma işlemi tamamlandığında, onun referans kaldırmak istiyoruz. Bu yüzden ihtiyacım var.

func appendReplicator(replicator: CDTReplicator) { 
     replicators.append(replicator) 
} 

Herhangi bir fikir?

cevap

0

Birden çok kopyalayıcı için tek bir temsilci kullanıyorum. Sadece iki kopyalayıcım var, bu yüzden bir çoğaltıcı başladığında, bu iki varyasyondan birinde bir referansı saklıyorum. Tamamlandığında, bu varslara replicatorDidComplete işlevine iletilen çoğaltıcıyı karşılaştırıyorum. Böyle bir şey yapar mısın? Eğer replicatorDidComplete, replicatorDidError onu aramak böylece

var replicators : [CDTReplicator] = [] 

// on start 
replicators.append(replicator) 

// on complete, error, etc 
func replicatorDidComplete(replicator: CDTReplicator!) { 
    var match: Int? = nil 
    for (index,r) in replicators.enumerate() { 
     if (r == replicator) { 
      match = index 
      break 
     } 
    } 
    if (match != nil) { 
     replicators.removeAtIndex(match!) 
    } 

Ben Bu bir zorunluluk değil ama kıvrımlara benim durumumda olurdu vb

+0

Sadece mükemmel! Eşitlik yerine '===' kimlik operatörünü kullandım. Ama aslında aynı. Teşekkür ederim. – oyalhi

0

Şu anda yapamazsınız. Kasten, içten bir detayı olan en iyi şey, replikatör oturum kimliğine gerçekten erişmek istiyorsanız github numaralı telefondan bir özellik isteğini yükseltmektir.

+0

, bir removeReplicator fonksiyonu içine taşımak olacaktır. Şimdi takip etmek için ayrı delegeler kullanacağım. – oyalhi