2014-11-03 18 views
8

Aşağıdaki kodu Xcode 6 numaralı F6 numaralı hata ayıkladım ve yürütme sırası çok ilginç. Burada Xcode'un hata ayıklayıcısı Swift ile bu şekilde nasıl zıplıyor?

koddur - 7 hatları, bir kesme hattı 1 üzerinde ayarlanır:

let request = AWSDynamoDBPutItemInput() 
    request.tableName = "blah" 

    let card = AWSDynamoDBAttributeValue() 
    card.S = "1234" 
    let email = AWSDynamoDBAttributeValue() 
    email.S = "notset" 

    request.item = ["card_number" : card, "email" : email] 

kod yoluyla F6'd, bu (sayılar hattı sayılardır), aşağıdaki diziyi göstermiştir:

1,2,4,2,3,4,6,4,5,6,7,6,7 

Neden? Bu Xcode veya dil ile bir şey mi? Bu sınıflar Amazon'un AWS SDK'sında tanımlanmıştır, önemli olanın, hızlı-objektif-c köprüleme yoluyla erişilip erişilmediğinden emin olunmaz, bu da köprüleme ile ilgili olabilir. Bu arada, uygulamanın net sonucu doğrudur.

+0

Bu oldukça normal - düzenli Objective-C ile benzer görüyorsunuz ve efektin Swift ile daha kötü bir saç olmasını beklerim. –

+0

Gerçekten de herhangi bir ortamda olağandışı değil. Özellikle döngülerle, başladığınız zaman ve/veya en üst seviyeye doğru bir sıçrama göreceksiniz. Ve ARC'nin arkasındaki mantık daha fazla tuhaflık katıyor. –

+0

@ peter bir çözüm buldunuz mu. Ekranım çıldırırken kodlamaya çalışırken burada çıldırmış gibi hissediyorum. – boidkan

cevap

1

Son olarak, Apple numaralı hata raporuma bir yanıt aldım ve bir hata olduğunu ve XCode beta sürümünde düzeltildiğini söylüyor. Bir düzeltme için arıyorsanız, lütfen şu beta sürümünü deneyin:

Bu sorunun, en son Xcode 6.3 beta sürümünde, iOS 1.2 SDK, Swift 1.2 ile birlikte ele alındığını düşünüyoruz.

Lütfen bu sürümle test edin. Hala sorun yaşıyorsanız, lütfen araştırmamıza yardımcı olabilecek ilgili günlükleri veya bilgileri ekleyin.

Bu Mac, iPhone, iPad ve Apple Watch için eksiksiz bir Xcode geliştirici araç setinin bir yayın öncesi sürümüdür. Bu sürümde OS X Yosemite gerekiyor.

Xcode 6.3 - 6D520o https://developer.apple.com/xcode/downloads/

+0

Teşekkürler, ne yazık ki XCode 6.3'i şu anki projemle birlikte beta sürümüne kadar kullanamıyorum. Ancak, ben kontrol edeceğim. – boidkan

+0

sorunu hala osx yosemite, xcode 6.3 (kararlı) ve iOS 8.4 ile birlikte. – iAnurag

4

Gözlemlediğiniz şeyin derleyici optimizasyonlarının etkisi olduğunu düşünüyorum. Kodunuzu derleme zamanında yeniden yazar. Bu nedenle, hata ayıklama yapıları üzerinde optimizasyonu (-Onone) devre dışı bırakmak normaldir, ancak sürümleri oluştururken etkinleştirin (-Ofast veya -Os).

0
Projenizi açın ve "Elma LLVM 6.1- kod oluşturma" etiketi bulma, oluşturma ayarları sekmesinin altındaki yapılandırma sayfasını hedef olmalıdır

, optimizasyon düzeyini değiştirmek kurmak hata ayıklama "Yok [-00]", projenizi temizleyin ve işiniz bitti!

İlgili konular