2016-04-12 9 views
0

配列数から配列数を引いた値を表示するにはどうすればよいですか?私はこのような二つの配列があります。配列数から配列数を引いた

var likedBy = [NSArray]() 
var dislikedBy = [NSArray]() 

をそして私はこのようなUITextLabel上の文字列としてカウントを取得しようとしています:

imageCell.likeLabel.text = self.likedBy.count - self.dislikedBy.count 

しかし、私はエラーを取得する:

No "-" candidates produce the expected contextual result type "String?"

どれでも提案?

countプロパティが Intを返し、あなたが textプロパティを設定する Stringを必要とするのであなたが \()で文字列の補間を使用する必要があります
+0

文字列(self.likedBy.count - self.dislikedBy.count) – ogres

+0

ヒント:カウントはテキストは引数_string_ある_NUMBER_です。 – holex

+1

提案#1:*エラーメッセージを読んでください。 - 提案#2:理解できないコンパイラエラーが発生した場合、式を複数のステートメントに分割します: 'let diff = self.likedBy.count - self.dislikedBy.count; imageCell.likeLabel.text = diff'。あなたは今問題を見るべきです! –

答えて

3

imageCell.likeLabel.text = "\(self.likedBy.count - self.dislikedBy.count)" 
+0

ありがとう!簡単な質問 - 'cellForItemAtIndexPath'では - indexPath.rowとindexPath.itemの違いは何ですか? –

+0

'item':コレクションビューのセクション内のアイテムを識別するインデックス番号。 –

+0

indexpath.itemとindexpath.rowの比較については、http://stackoverflow.com/a/14765781/2035845を参照してください。 –

1

imageCell.likeLabel.text = "\(self.likedBy.count - self.dislikedBy.count)" 
1

あなたの行を置き換えます。また書きたいと思うかもしれません要素数の差を提供するNSArrayの拡張。コードがより洗練され、責任が適切な場所に置かれます。同様に、メインのコードフローは2つの配列数の差を計算するのには興味がありませんが、嫌いを差し引いた後に残っている好きな数を知りたいと思っています。

extension NSArray { 
    func elementCountDiff(array: NSArray) -> Int { 
     return self.count - array.count 
    } 
} 

... 

imageCell.likeLabel.text = String(self.likedBy.elementCountDiff(self.dislikedBy))