2017-03-06 1 views
0

에 개체를 추가 신호 SIGABRT 나는 세 가지 클래스를 정의 :스위프트와 영역 : 점점 스레드 1 : 목록

CoffeeBrand :

dynamic var brandName = "" 
let brands = List<Coffee>() 

커피 :

dynamic var name = "" 
let cupAmount = List<CoffeeCup>() 

CoffeeCup :

dynamic var cup = 0 
dynamic var caffeine = 0 

그리고 시도해보고 싶습니다. 이 테이블처럼 얼마나 시도하는 브랜드 스타 벅스는

class CoffeeListsTableViewController: UITableViewController { 

    // MARK: Properties 
    var brands: Results<CoffeeBrand>! 

    override func viewDidLoad() { 
     super.viewDidLoad() 
     let Starbucks = CoffeeBrand(value: ["Starbucks",["Iced Latte", [200,150],[500,150]]]) 

     try! realm.write() { 
      realm.add(Starbucks) 
     } 
    } 
} 

을 볼하지만 내가 가진 것은 "스레드 1 : 신호 SIGABRT"이며, 나는이 내가 구글 스레드 1 (없이 작업해야한다고 생각한다는 조사 이의 테이블 데이터 소스로) 다른 사람의 questiones에서 뭐가 잘못

를 찾아보십시오 : 해당 코드의 모습에서

override func numberOfSections(in tableView: UITableView) -> Int { 
    // #warning Incomplete implementation, return the number of sections 
    return 1 
} 

override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 
    return brands.count 
} 

override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell{ 
    //let cellIdentifier = "CoffeeBrandTableViewCell" 
    let cell = tableView.dequeueReusableCell(withIdentifier: "CoffeeBrandTableViewCell", for: indexPath) as! CoffeeBrandTableViewCell 
    // in my cell, only a label of brandName 
    let brandList = brands[indexPath.row] 
    cell.brandName.text = brandList.brandName 
    return cell 
} 

답변

0

, 혹시 brands에 값을 할당 아닙니다. 브랜드를 명시 적으로 포장 해제한다고 선언하기 때문에 문제가 될 수 있습니다. 여담으로

class CoffeeListsTableViewController: UITableViewController { 

    // MARK: Properties 
    let brands = try! Realm().objects(CoffeeBrand.self) 

    override func viewDidLoad() { 
     super.viewDidLoad() 
    } 
} 

realm.add는 영역 데이터베이스에 호출 할 때마다 새로운 객체를 추가합니다. 현재 코드에서보기 컨트롤러가로드 될 때마다 Starbucks 객체의 새 복사본을 추가합니다. Realm에 객체를 추가 할 때 더 많은 제어를 추가하는 것이 더 적절할 것입니다.

+0

아니, 그게 문제가 아니에요, 전에 이걸 시도해 보면 "Thread 1 : EXC_BAD_INSTRUCTION" – whatever123