- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是使用 Xcode 和 swift 的新手,仍在学习中。我在将核心数据从实体传递到文本字段/标签时遇到问题,然后用户可以选择编辑和保存记录。我的目标是,当用户从 friendslistViewController.swift
单击 tableView 中的单元格时,它会将他们带到 editViewController.swift
屏幕以编辑和保存记录。我想我需要实现 prepareforsegue
函数,但不确定如何实现?
friendsViewController.swift(初始数据输入)
//
// friendsViewController.swift
//
//
// Created by on 11/10/17.
// Copyright © 2017. All rights reserved.
//
import UIKit
import CoreData
class friendsViewController: UIViewController {
//OUTLETS
@IBOutlet weak var firstName: UITextField!
@IBOutlet weak var lastName: UITextField!
@IBOutlet weak var genderSegControl: UISegmentedControl!
@IBOutlet weak var ageStepper: UIStepper!
//AGECOUNT
@IBOutlet weak var ageLabel: UILabel!
@IBOutlet weak var address: UITextField!
var context = (UIApplication.shared.delegate as! AppDelegate).persistentContainer.viewContext
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}
//actions
@IBAction func ageStepperStep(_ sender: UIStepper) {
let step = Int(sender.value) // using an integer variable
ageLabel.text = String(step)
// label1.text = Int(sender.value).description
// another way without using any integer variable
}
// TEST GENDER
/*
var gender : String
if self.genderSegControl.selectedSegmentIndex == 0 {
gender = "male"
}
else {
gender = "female"
}
genderLabel.text! = gender
*/
//SAVE FRIEND BUTTON
@IBAction func saveFriendBtn(_ sender: Any) {
if firstName.text != "" && lastName.text != "" {
var gender : String?
if self.genderSegControl.selectedSegmentIndex == 0 {
gender = "male"
}
else {
gender = "female"
}
let newFriend = NSEntityDescription.insertNewObject(forEntityName: "Friends", into: context)
newFriend.setValue(self.firstName.text, forKey: "firstName")
newFriend.setValue(self.lastName.text, forKey: "lastName")
newFriend.setValue(self.address.text, forKey: "address")
newFriend.setValue(self.ageLabel.text, forKey: "age")
newFriend.setValue(gender, forKey: "gender")
/*let gender: String = genderSegControl.titleForSegment(at: genderSegControl.selectedSegmentIndex)!
*/
//SAVE THE CONTEXT
do {
try context.save()
}
catch{
print(error)
}
}
else {
print("please enter your first and last name!")
}
}
} //end class
friendslistViewController.swift(显示带有单元格的 tableView 的屏幕)
//
// friendslistViewController.swift
//
//
// Created by on 11/10/17.
// Copyright © 2017. All rights reserved.
//
import UIKit
import CoreData
class friendslistViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {
/*
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
var DestViewController : editViewController = segue.destinationViewController as! editViewController
DestViewController.firstNameInput = name.firstName!
}
*/
//outlets
@IBOutlet weak var tableView: UITableView!
var userArray:[Friends] = []
override func viewDidLoad() {
super.viewDidLoad()
tableView.delegate = self
tableView.dataSource = self
self.fetchData()
self.tableView.reloadData()
// Do any additional setup after loading the view.
}
func numberOfSections(in tableView: UITableView) -> Int {
return 1
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return userArray.count
}
//DISPLAY LISTVIEW
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath)
//save first users data into array
let name = userArray[indexPath.row]
cell.textLabel!.text = name.firstName! + " " +
name.lastName! + ", " +
name.age! + ", " +
name.gender! + ", " +
name.address!
return cell
}
func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCellEditingStyle, forRowAt indexPath: IndexPath) {
let context = (UIApplication.shared.delegate as! AppDelegate).persistentContainer.viewContext
if editingStyle == .delete{
//delete a friend
let friend = userArray[indexPath.row]
context.delete(friend)
(UIApplication.shared.delegate as! AppDelegate).saveContext()
do{
userArray = try context.fetch(Friends.fetchRequest())
}catch{
print(error)
}
}
tableView.reloadData()
}
//fetch the data
func fetchData(){
let context = (UIApplication.shared.delegate as! AppDelegate).persistentContainer.viewContext
do{
userArray = try context.fetch(Friends.fetchRequest())
}
//if error exists/catch it
catch{
print(error)
}
}
//actions
} //end class
editViewController.swift(处理编辑/保存的屏幕)
//
// editViewController.swift
//
//
// Created by on 15/10/17.
// Copyright © 2017. All rights reserved.
//
import UIKit
import CoreData
class editViewController: UIViewController {
@IBOutlet weak var firstName: UITextField!
@IBOutlet weak var lastName: UITextField!
@IBOutlet weak var ageLabel: UILabel!
@IBOutlet weak var address: UITextField!
var firstNameInput = String()
override func viewDidLoad() {
super.viewDidLoad()
firstName.text = firstNameInput
// Do any additional setup after loading the view.
}
}
最佳答案
首先,您应该更改 View Controller 的名称,使它们全部以大写字母开头(例如 class FriendsViewController: UIViewController
),并对文件名执行相同的操作。
其次,您关于需要添加转场的说法是正确的。您查看过 Apple 文档中的 func prepare(for segue: UIStoryboardSegue, sender: Any?)
吗?
您在目标 View Controller (editViewController.swift
) 中需要一个变量,您可以将 Friend 对象分配给该变量。在您的 prepare(for:sender:)
方法中,您需要类似 let destinationViewController = segue.destination as!编辑 View Controller
。然后,您可以使用该 destinationViewController
变量来访问目标 View Controller 中的变量并将对象分配给它。
看看你能走多远。
关于ios - 将核心数据值传递到文本字段中以进行编辑/保存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46751677/
表架构 DROP TABLE bla; CREATE TABLE bla (id INTEGER, city INTEGER, year_ INTEGER, month_ INTEGER, val I
我需要拆分字符串/或从具有以下结构的字符串中获取更容易的子字符串。 字符串将来自 window.location.pathname 或 window.location.href,看起来像 text/n
每当将对象添加到数组中时,我都会尝试更新 TextView ,并在 TextView 中显示该文本,如下所示: "object 1" "object 2" 问题是,每次将新对象添加到数组时,它都会覆盖
我目前正在寻找使用 Java 读取网站可见文本并将其存储为纯文本字符串的方法。 换句话说,我想转换成这样: Hello stupid World进入“ Hello World ” 或者类似的东西 Un
我正在尝试以文本和 HTML 格式发送电子邮件,但无法正确发送正确的 header 。特别是,我想设置 Content-Type header ,但我找不到如何为 html 和文本部分单独设置它。 这
我尝试了上面的代码,但我无法绑定(bind)文本,我怎样才能将资源内部文本 bloc
我刚刚完成了 Space Shooter 教程,由于没有 GUIText 对象,所以我创建了 UI.Text 对象并进行了相应的编码。它在统一播放器中有效,但在构建 Web 应用程序后无效。我花了一段
我有这个代码: - (IBAction)setButtonPressed:(id)sender { NSUserDefaults *sharedDefaults = [[NSUserDefau
抱歉标题含糊不清,但我想不出我想在标题中做什么。无论如何,对于图像上的文本,我使用了 JLabel 文本并将其添加到图标中。 JLabel icon = new JLabel(new Imag
关闭。这个问题是not reproducible or was caused by typos .它目前不接受答案。 这个问题是由于错别字或无法再重现的问题引起的。虽然类似的问题可能是on-topi
我在将 Twitter 嵌入到我从 HTML 5 转换的 wordpress 运行网站时遇到问题。 我遇到的问题是推文不是我的自定义字体... 这是我无法使用任何 css 定位的 HTML 代码,我正
我正在尝试找到解决由于使用以下形式的代码而导致的冗余字符串连接问题的最佳方法: logger.debug("Entering loop, arg is: " + arg) // @1 在大多数情况下,
我写了这个测试 @Test public void removeRequestTextFromRouteError() throws Exception { String input = "F
我目前正在创建一个正则表达式来拆分所有匹配以下格式的字符串:&[文本],并且需要获取文本。字符串可能类似于:something &[text] &[text] everything &[text] 等
有没有办法将标题文本从一个词变形为另一个词,同时保留两个词中使用的字母?我看过的许多 css 文本动画大多是视觉的,很少有旋转整个单词的。 我想要做的是从一个词过渡,例如“BEACH”到“CHANGE
总结matplotlib绘图如何设置坐标轴刻度大小和刻度。 上代码: ?
我在容器 (1) 中创建了容器 (2)。你能帮忙如何向容器(1)添加文本吗?下面是我的代码 return Scaffold( body: Padding( padding: c
我似乎找不到任何人或任何人这样做过。我试图限制我们使用的图像数量,并想创建一个带有渐变作为其“颜色”的文本,并在其周围设置渐变轮廓/描边 到目前为止,我还没有看到任何将两者结合在一起的东西。 我可以自
我正在为视频游戏暗黑破坏神 2 使用 discord.py 构建一个不和谐机器人。其中一项功能要求机器人从暗黑破坏神 2 屏幕截图中提取项目的名称和属性。我目前正在为此使用 pytesseract,但
我很难弄清楚如何旋转 strip.text theme 中的属性来自 ggplot2 .我使用的是 R 版本 3.4.2 和 ggplot2 版本 2.2.1。 以下是 MWE 的数据。 > dput
我是一名优秀的程序员,十分优秀!