2017-06-02 5 views
-1
で警告

が更新****レルム方法スウィフト

この問題は、ネストされたループまたはレルムに関連していなかった「実行されることはありません」を投げます。私は間違った場所の変数を宣言しました。

私はプロジェクトでRealmを使用しており、ネストされたループ内でRealmを呼び出すと警告が表示されます。下の書き込みメソッドでは、警告が呼び出されます。

 let realm = try! Realm() 
     let fetchedArticles = realm.objects(Article.self) 

     for article in fetchedArticles 
     { 
      // Test for 30 Articles 
      var iArticleNumber = 0 

      if iArticleNumber < 30 
      { 
       // Do nothing 
      } 
      else if iArticleNumber >= 30 
      { 
       try! realm.write // ** WARNING IS THROWN HERE ON WRITE ** 
       { 
        realm.delete(article) 
       } 
      } 

      iArticleNumber += 1 
     } 

if-elseコードを削除しても、エラーは発生しません。

let realm = try! Realm() 
let fetchedArticles = realm.objects(Article.self) 

try! realm.write 
{ 
    realm.delete(fetchedArticles[0]) 
} 

エラーが表示されない理由とその理由を理解できたら助かりますか?

+0

この問題は、Realmまたは* Nested *ループとは関係ありません。 –

答えて

2

ループ内でiArticleNumberを宣言しています。すべての繰り返しをリセットするため、1を超えることはありません。宣言をループ外に移動するだけです

また、独自のカウンタを使用しないでください。この目的のためにバリエーションのために完全に使用可能です。

for (iArticleNumber, article) in fetchedArticles.enumerated() { 
    print("Item \(iArticleNumber): \(article)") 
} 
+0

ハハ、それは恥ずかしいです。助けてくれてありがとう。私はこれを投稿するずっと前にそれを見たことがあります。 – jonthornham

関連する問題