2014-12-05 5 views
0

"totalWorkTimeInHoursString"이라는 속성을 검색하고이를 UILabel에서 텍스트로 설정하는 데 문제가 있습니다. 지금은 있습니다. 이것은 내가 잘못 여기에 레이블에있는있는 tableView 세포 enter image description hereSwift에서 coredata 속성을 검색하고 UILabel을 설정하십시오.

사람이 말해 줄 수 일을 할 수 있는지

override func viewDidLoad() { 
    super.viewDidLoad() 

    func calculateTotalWorkTimeInHoursStringSum() { 

    //CoreData 
    let appDelegate = UIApplication.sharedApplication().delegate as AppDelegate 
    let managedContext : NSManagedObjectContext = appDelegate.managedObjectContext! 
    var fetchRequest = NSFetchRequest(entityName: "Log") 
    fetchRequest.returnsObjectsAsFaults = false; 
    var results: NSArray = managedContext.executeFetchRequest(fetchRequest, error: nil)! 


     if (results.count > 0) { 
      for res in results { 
       var totalWorkTimeInHoursString = results.valueForKey("totalWorkTimeInHoursString") as String 
       totalWorkTimeInHoursStringSumLabel.text = "\(totalWorkTimeInHoursString)" 
      } 
     }else { 
      println("zero results returned, potential error") 
      } 
    } 

} 

. 앱을 실행하면 기본 텍스트 이외에 UILabel에 아무 것도 표시되지 않습니다. "totalWorkTimeInHoursString"은 프로젝트의 다른 위치에서 테이블 뷰에 저장되고 검색되기 때문에 코어 데이터에 제대로 저장된다는 것을 알고 있습니다. 다음 루프 동안

+0

결과는 배열입니다,하지만 당신은 ... 사전으로 –

+0

한 초를 액세스하려는. 나는 당신의 특정 오류를 참조하십시오. –

답변

0

, 당신은 결과 배열의 개별 요소, 즉 res들에 액세스하고 있지만 루프 내에서, 당신은 results을 사용하고 당신이 res을 사용해야 할 때 따라서 당신은 조작하려고 결국 results은 사전이 아닌 배열입니다. 그래서, 짧은에, res.valueForKeyresults.valueForKey 교체 :

for res in results { 
    var totalWorkTimeInHoursString = res.valueForKey("totalWorkTimeInHoursString") as String 
    totalWorkTimeInHoursStringSumLabel.text = "\(totalWorkTimeInHoursString)" 
} 
+0

허. 그것을 시도했는데, 내가 달릴 때 아직 레이블에 나타나지 않습니다. – Leighton

+0

@Leighton Hm ... 라벨 콘센트가 제대로 연결되어 있습니까? 기본 텍스트가 계속 표시되면 (1) IBOutlet이 연결되지 않았거나 (2) "결과"가없고 for 루프가 실행되지 않습니다. 레이블이 연결되고 for 루프가 실행 중이기 때문에'totalWorkTimeInHoursString'이 nil이거나 기본 문자열이 아닌 경우에도 레이블 텍스트는 여전히 기본값으로 설정되지 않습니다. –

+0

예, 방금 확인했습니다. 완전히 새로운 레이블로 콘센트를 분리, 삭제 및 다시 제작합니다. 그래도 작동이 안되는. 레이블이 테이블 뷰 셀에 포함되어 있다는 사실과 관련이 있습니까? cell.textlabel.text에 totalWorkTimeInHoursString을 입력하는 것이 가능합니까? 특정 정적 셀을 그런 식으로 참조하는 방법을 모르겠습니다. 나는 상황의 이미지를 게시 할 것이다. 양해 해 주셔서 감사합니다. – Leighton

관련 문제