2016-09-14 3 views
0

나는이 오류에 대한 많은 해답을 알고 있지만 알아낼 수없는 것으로 알고 있습니다. 스레드 1 : EXC_BAD_ACCESS (코드 = 257, 주소 = 0x200000003) 함수가 호출되는 줄에 오류가 나타납니다. 내 테이블 셀 뷰 컨트롤러는 다음과 같습니다.신속하게 EXC_BAD_ACCESS 함수를 호출하는 중

import UIKit 

class NewsTableViewCell: UITableViewCell { 

@IBOutlet weak var postImageView: CustomImageView! 
@IBOutlet weak var postTitleLabel:UILabel! 
@IBOutlet weak var authorLabel:UILabel! 
@IBOutlet weak var dateLabel: UILabel! 

var article: Article? { 
     didSet { 
      postTitleLabel.text = article?.title 
      authorLabel.text = article?.author 
      dateLabel.text = article?.date 

      setupArticleImage() 
     } 
} 
func setupArticleImage() { 
     postImageView.loadImageUsingUrlString("http://theblakebeat.com/uploads/873463.jpg") 
} 

이 코드는 내 extensions.swift 파일에있는 loadImageUsingUrlString 함수를 호출합니다. 이미지를로드하기 위해로드 된 각 테이블 뷰 셀에 대해 호출됩니다. extensions.swift의 코드는 다음과 같습니다.

import UIKit 

let imageCache = NSCache() 

class CustomImageView: UIImageView { 

    var imageUrlString: String? 

    func loadImageUsingUrlString(urlString: String) { 
     imageUrlString = urlString 

     let url = NSURL(string: urlString) 

     image = nil 

     if let imageFromCache = imageCache.objectForKey(urlString) as? UIImage { 
     self.image = imageFromCache 
     return 
    } 

    NSURLSession.sharedSession().dataTaskWithURL(url!, completionHandler: { (data, respones, error) in 

     if error != nil { 
      print(error) 
      return 
     } 

     dispatch_async(dispatch_get_main_queue(), { 

      let imageToCache = UIImage(data: data!) 

      if self.imageUrlString == urlString { 
       self.image = imageToCache 
      } 

      imageCache.setObject(imageToCache!, forKey: urlString) 
     }) 

    }).resume() 
} 

} 

어떤 도움을 주셔서 감사합니다.

+0

당신은 전체 오류 로그를 게시 할 수 있습니까? –

+0

예, 그 방법에 대한 정보를 제공해 주시겠습니까? 전체 오류 로그에 액세스 할 수있는 위치가 확실하지 않습니다. 감사! –

+0

디버거 자체에서. 또는이 내용 만'스레드 1 : EXC_BAD_ACCESS (코드 = 257, 주소 = 0x200000003)'로 받고 있습니까? –

답변

5

당신은 IBInspector에 postImageView에 클래스 CustomImageView를 설정하지 않은 :

description

+1

고마워요. 내 앱을 저장했습니다! –

+0

기억해야 할 사소한 것들 :) –

+1

"모듈"이 올바른지 다시 한 번 확인하십시오. 쉬운 방법은 다시 클래스 이름을 입력하고 Enter 키를 누르는 것입니다. 클래스가 프로젝트의 어느 곳에 나 존재하면 모듈이 자동으로 채워집니다 – Gobe

0

extensions.swift이 올바른 대상입니까?

+0

올바른 대상에 있는지 어떻게 확인합니까? 나는 그것이라고 생각한다. extensions.swift의 내용을 내 테이블 셀 뷰 컨트롤러의 맨 아래에 추가하면 여전히 오류가 발생합니다. –

+0

XCode에서 Project Navigator에서 파일을 선택하고 File Inspector 섹션에서 'Target Membership'섹션을 선택하십시오. –

+0

예, 모두 동일한 '멤버십'상자가 선택되어 있습니다. 내가 할 수있는 다른 것이 있습니까? –

관련 문제