2014-10-22 2 views
0

Я извиняюсь, если это уже обсуждался, но я не найти решениеSwift словаря изменить переменные значения

У меня есть:-структура

struct Point2D 
{ 
    var x: Double = 0.0 
    var y: Double = 0.0 
} 

И у меня есть класс также :

class Letter 
{ 
    var points3D: Dictionary<String,Point3D> = [:] 
    var points2D: Dictionary<String,Point2D> = [:] 
    var edges: Dictionary<String,Edge> = [:] 
} 

В некоторых зрения:

class GraphicView: UIView { 
    var letter:Letter! 

    override func drawRect(rect: CGRect) { 
     for (name,point3d) in letter.points3D { 
      //Says String isn't convertable to DictionaryIndex<String,Point2D> 
      letter.points2D[name]!.x = point3d.x * (perspective/(perspective - point3d.z)) + imageWidth/2 
      letter.points2D[name]!.y = point3d.y * (perspective/(perspective - point3d.z)) + imageHeight/2 
     } 
} 

Я пытаюсь найти значение для ключа (я знаю, что он существует) и изменить переменные этого значения на другое. Что не так?

ответ

1

Возможно perspective, imageWidth или imageHeight не Double?

попробовать:

class GraphicView: UIView { 
    var letter:Letter! 

    override func drawRect(rect: CGRect) { 
     for (name,point3d) in letter.points3D { 
      letter.points2D[name]!.x = point3d.x * (Double(perspective)/(Double(perspective) - point3d.z)) + Double(imageWidth)/2 
      letter.points2D[name]!.y = point3d.y * (Double(perspective)/(Double(perspective) - point3d.z)) + Double(imageHeight)/2 
     } 
} 
Смежные вопросы