Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift 数据未连接到tableView_Swift_Xcode_Core Data_Tableview - Fatal编程技术网

Swift 数据未连接到tableView

Swift 数据未连接到tableView,swift,xcode,core-data,tableview,Swift,Xcode,Core Data,Tableview,我正在开发一个应用程序,它有三个桌面视图:一个用于俱乐部,另一个用于会员,这将导致交易。前两个TableView加上它们的“add”控制器正在工作,而第三个没有。据我所知,add控制器工作正常,因为我知道事务会保存到核心数据中。但是该事务没有显示在tableView中,我不知道如何修复它,因为这是我的第一个应用程序 交易Vc代码 导入UIKit 导入消息用户界面 导入CoreData 类TransactionViewController:UIViewController、MFMailCompos

我正在开发一个应用程序,它有三个桌面视图:一个用于俱乐部,另一个用于会员,这将导致交易。前两个TableView加上它们的“add”控制器正在工作,而第三个没有。据我所知,add控制器工作正常,因为我知道事务会保存到核心数据中。但是该事务没有显示在tableView中,我不知道如何修复它,因为这是我的第一个应用程序

交易Vc代码

导入UIKit
导入消息用户界面
导入CoreData
类TransactionViewController:UIViewController、MFMailComposeViewController、UITableViewDelegate、UITableViewDataSource{
@IBMOutlet弱var tableViewTransaction:UITableView!
让dateFromatter=DateFormatter()
var成员:成员?
重写func viewDidLoad(){
super.viewDidLoad()
dateFromatter.timeStyle=.long
dateFromatter.dateStyle=.long
}
覆盖函数视图将出现(uo动画:Bool){
self.tableViewTransaction.reloadData()
}
重写函数didReceiveMemoryWarning(){
超级。我收到了记忆警告()
//处置所有可以重新创建的资源。
}
@iAction func addNewTransaction(\发送方:任意){
性能检查(带有标识符:“新交易”,发送者:自我)
}
覆盖功能准备(对于segue:UIStoryboardSegue,发送方:有吗?){
guard let destination=segue.destination as?AddTransactionViewController else{
返回
}
destination.member=成员
}
func tableView(tableView:UITableView,numberofrowsinssection:Int)->Int{
返回成员?.transactions?.count??0
}
func tableView(tableView:UITableView,cellForRowAt indexath:indexPath)->UITableViewCell{
let cell=tableViewTransaction.dequeueReusableCell(标识符为:“transactionCell”,表示:indexPath)
如果let transaction=member?.transactions?[indexath.row]{
cell.textlab?.text=transaction.reason
如果let date=transaction.date{
cell.detailtextlab?.text=dateFromatter.string(from:date)
}
}
返回单元
}
@iAction func sendEmail(\发件人:任意){
让mailcomosevc=configureMailController()
如果MFMailComposeViewController.canSendMail(){
self.present(mailComposeVC,动画:true,完成:nil)
}否则{
showMailError()
}
}
func configureMailController()->MFMailComposeViewController{
让mailComposerVC=MFMailComposeViewController()
mailComposerVC.mailComposeDelegate=self
MailComposer VC.setSubject(“MAHNUNG”)
MailComposer VC.setMessageBody(“嘿,我有一个好消息,我在布加勒东的一个小镇上有一个Kontostand,我在布加勒东的一个小镇上吃了一顿苦头,我的名字叫möglich mir das Geld zu bringen.Gruss”,isHTML:false)
返回邮件
}
func showMailError(){
让senMailErrorAlert=UIAlertController(标题:“无法发送电子邮件”,消息:“Dein Gerät konnte die email nicht senden.”,首选样式:。警报)
let dismise=UIAlertAction(标题:“确定”,样式:。默认,处理程序:nil)
senMailErrorAlert.addAction(解除)
self.present(senMailErrorAlert,动画:true,完成:nil)
}
func-mailcomosecontroller(u控制器:mfmailcomoseviewcontroller,didFinishWith结果:MFMailComposeResult,错误:error?){
控制器。解除(动画:true,完成:nil)
}
}
addTransaction代码:

导入UIKit
类AddTransactionViewController:UIViewController、UIExtFieldDelegate{
@ibextfield:UITextField!
@IBOutlet弱var amountTextField:UITextField!
@IBVAR弱日期选择器:UIDatePicker!
var成员:成员?
重写func viewDidLoad(){
super.viewDidLoad()
reasonTextField.delegate=self
amountTextField.delegate=self
}
重写函数didReceiveMemoryWarning(){
超级。我收到了记忆警告()
}
覆盖func TouchesBegind(Touchs:Set,带有事件:UIEvent?){
reasonTextField.resignFirstResponder()辞职
amountTextField.resignFirstResponder()辞职
}
@iAction func saveTransaction(\发送方:任意){
让reason=reasonTextField.text
let date=datePicker.date
让moneyText=amountTextField.text??“”
让货币=双倍(货币文本)??0.0
如果let transaction=transaction(货币:货币,原因:原因,日期:日期){
成员?.addToRawTransactions(事务)
做{
请尝试事务处理.managedObjectContext?.save()
self.navigationController?.popViewController(动画:true)
}抓住{
let alert=UIAlertController(标题:“交易记录”,信息:“请注意”,首选样式:。alert)
当前(警报、动画:真、完成:无)
}
}
func textField应该返回(textField:UITextField)->Bool{
textField.resignFirstResponder()辞职
返回真值
}
}
}
核心数据:

导入UIKit
导入CoreData
@objc(分期付款)
公共类份额:NSManagedObject{
var日期:日期{
得到{
是否将原始日期返回为日期?
}
设置{
rawDate=作为NSDate的新值?
}
}
便利初始?(货币:双倍,原因:字符串?,日期:日期?){
将appDelegate=UIApplication.shared.delegate设为appDelegate
guard let context=appDelegate?.persistentContainer.viewContext-else{
归零
}
self.init(实体:transAction.entity(),insertInto:context)
self.date=日期
钱
理性
}
}

可能重复@Koes这是我的问题,但是