2つの静的なセルのUsersとLocationsを持つConfigureTableViewController対応のテーブルビューがあります。 ユーザーtableviewセルは、usersSegue経由でListUserTableViewControllerに接続します。セグエ介し ロケーションテーブルビューセルがLocationTableViewControllerに接続されているlocationsSegueCoreDataとデリゲートを介して静的なtableViewセル間で変数を渡す
ListUserTableViewControllerプロトコルを有する:
protocol UserSelectionDelegate{
func userDidSelectUser(userIdentifier:NSString)
}
IはListUserTableViewControllerからユーザを選択し、デリゲートUserSelectionDelegateを
class ConfigureTableViewController: UITableViewController, UserSelectionDelegate {
…
…
// function pulls user’s fullName from Core Data table based on userIdentifier
func userDidSelectUser(userIdentifier : NSString) {
var fetchedResults: [User] = []
let context = (UIApplication.shared.delegate as AppDelegate).persistentContainer.viewContext
userIdentifierString = userIdentifier
do {
fetchedResults = try context.fetch(User.fetchRequest())
}
catch {
print ("fetch task failed")
}
if fetchedResults.count > 0 {
for user in fetchedResults{
let aUser:User = user
if (aUser.uniqueId! == userIdentifierString as String) {
let fullName = aUser.firstName! + " " + aUser.lastName!
print("selected user full name: " + (fullName as String))
}
else {
continue
}
}
}
}
}
を実装することによって、ConfigureTableViewControllerに渡しますこれまでのところとても良い..
しかし、今、私はユーザー名を持っているが、私はLocationTableViewControllerにConfigureTableViewControllerを残して行くとき、私は失うConfigureTableViewControllerにListUserTableViewControllerから移行したようlocationsSegue
をDBから引っ張っユーザー名を取り、セグエを経由してLocationTableViewControllerするために送りたいですfullNameのスコープ
私は何とか計算されたfullNameの値をいくつかの永久記憶域に保存する必要があります。そのため、CoreDataのテーブルに入れる必要があります。私はこれを避けたい、それは多くの仕事のようです。
LocationTableViewControllerがConfigureTableViewControllerで定義されたデリゲートを実装し、既に実装されているスコープ内にfullNameを持つ他のUserSelectionDelegateからデータを取得できるように、何らかのデリゲートチェーンを使用できますか?
この問題を解決する方法を教えてください。
ユーザーIDを渡すために、私はDbからユーザー名を取得できます。あなたの答えは部分的な解を与える。しかし私はそれを受け入れる。 – vrao