에서 하위 클래스빈 값은 내가 "고객"라는 내 사용자 정의 클래스에 캐스트 PFObject에 문제가 cellForRowAtIndexPath
이 클래스
@objc class Customer: PFObject, PFSubclassing {
@NSManaged var CompanyName: String
@NSManaged var City: String
@NSManaged var CountryCode: String
@NSManaged var Address: String
@NSManaged var Prov: String
@NSManaged var Email: String
@NSManaged var Vat: String
@NSManaged var PaymentDelay: String
@NSManaged var ficId: String
@NSManaged var owner: Owner
override class func initialize() {
struct Static {
static var onceToken : dispatch_once_t = 0;
}
dispatch_once(&Static.onceToken){
self.registerSubclass()
}
}
static func parseClassName() -> String {
return "Customer"
}
}
에 대한 신속한 파일이며,이 tableViewDelegate입니다
@objc class CustomersViewController: PFQueryTableViewController {
override func queryForTable() -> PFQuery {
let query = PFQuery(className: "Customers")
query.orderByAscending("CompanyName")
query.includeKey("owner")
return query
}
override func objectsDidLoad(error: NSError?) {
super.objectsDidLoad(error)
//print("\(objects?.count) customers")
}
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath, object: PFObject?) -> PFTableViewCell? {
let cell = cellForTableView(tableView)
print("obj:\(object?.objectId)")
if let customer = object as? Customer {
print("customer")
let customerLabel = cell.viewWithTag(101) as! UILabel
customerLabel.text = customer.CompanyName
}
return cell;
}
func cellForTableView(tableView: UITableView) -> PFTableViewCell{
let cellIdentifier = "CustomerCell"
if let cell = tableView.dequeueReusableCellWithIdentifier(cellIdentifier) as? PFTableViewCell{
return cell
} else {
return PFTableViewCell(style: .Subtitle, reuseIdentifier: cellIdentifier)
}
}
}
이 코드는 실행되지 않습니다 ... 왜?
if let customer = object as? Customer {
print("customer")
let customerLabel = cell.viewWithTag(101) as! UILabel
customerLabel.text = customer.CompanyName
}
이것은 내 오류 또는 PFSubclassing 프로토콜의 버그입니까?
로그에 개체가 제대로 다운로드됩니다. 랩 문제입니까?
OBJ : 옵션 ("uZ1v4VTFnt") OBJ : 옵션 ("ciCOtYFMif") OBJ : 옵션 ("P43mV63o0l") OBJ : 옵션 ("YhMWMkklwZ") OBJ : 옵션 ("LtKxwHApKZ") 는 OBJ : 선택 사항 ("EXL5tEW9EI") 는 OBJ : 선택 사항
감사합니다 ("I9HoCWqYub")
당신이 초기화 된 적이 구문 분석 개체를 초기화 할 클래스 이름 고객을 사용하는 애플 리케이션의 델리게이트'didLaunchWithOption' 메소드에서 고객 클래스? –
예, dispatch_once 함수에서 AppDelegate와 Customers 클래스를 초기화하려고했지만 작동하지 않았습니다. – milonet