Форум программистов, компьютерный форум CyberForum.ru

Swift

Войти
Регистрация
Восстановить пароль
 
iOS_Programmer
0 / 0 / 0
Регистрация: 13.09.2016
Сообщений: 2
#1

CoreData "Список пользователей" - Swift

13.09.2016, 20:06. Просмотров 658. Ответов 2
Метки нет (Все метки)

Всем привет!

Ребята, подскажите, как дополнить мою программу, чтобы пользователю, например, User1 соответствовал добавленный asset1, а, например, User2 соответствовал asset2. Естественно с сохранением в Core Data программы.

Архив с программой приложил.
---
Заранее спасибо за ответ
Вложения
Тип файла: zip UserList.zip (32.8 Кб, 2 просмотров)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.09.2016, 20:06     CoreData "Список пользователей"
Посмотрите здесь:

Pascal Решение заданий типа "Array","Matrix","String","File","Text"""
JavaScript Как написать регулярное выражение для выдергивания английских букв и символов: "+", ",", ":", "-", " ", "!", "?" и "."
C++ Двусвязный список с объектом трех типов: "целое число", "вещественное число", "строка"
JavaScript Получить значение из {"text1":"val1","text2":"val2","text3":{"text":"val"}}
Написать программу проверки правильности написания сочетаний "жи", "ши", "ча", "ща", "чу", "щу". Исправить ошибки Pascal
Получить список пользователей из локальной группы "Администраторы" и вывести его в файл
Сохранение данных по нажатию кнопки "Home" Swift
Печать только на "соседний" принтер для пользователей, "перемещающихся" по кабинетам Windows Server
Swift Ошибка: "Thread 1: signal SIGABRT"
Swift Нуб спрашивает Пропало окно "Welcome to xcode"
Swift Написание приложения " Расписание " для ВУЗа

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Митя800
49 / 49 / 12
Регистрация: 13.07.2015
Сообщений: 165
18.09.2016, 15:26     CoreData "Список пользователей" #2
Чтобы быстрее получить ответ, советую текст программы написать здесь на форуме. Вряд ли кто будет скачивать архив и смотреть код.
iOS_Programmer
0 / 0 / 0
Регистрация: 13.09.2016
Сообщений: 2
20.09.2016, 18:49  [ТС]     CoreData "Список пользователей" #3
Программа простецкая, но прошу помощи...
---
Код, как SWIFT-код, не получется вставить, пишу как Obj-C (для группировки и оформления блока кода)
---

Код программы:

Класс AddUser:
Objective-C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
import UIKit
import CoreData
 
class AddUser: UIViewController, UITableViewDelegate, UITableViewDataSource
{
    
    @IBOutlet weak var tableView: UITableView!
    
    var users = [User]()
    
     override func viewWillAppear(animated: Bool)
    {
        let appDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
        let manageContext = appDelegate.managedObjectContext
        let fetchRequest = NSFetchRequest(entityName: "User")
        
        do
        {
            let fetchResult = try manageContext.executeFetchRequest(fetchRequest)
            users = fetchResult as! [User]
        }
        catch
        {
            print(error)
            return
        }
    }
    
    func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int
    {
        return users.count
    }
    
    func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell
    {
        let cell = tableView.dequeueReusableCellWithIdentifier("userCell", forIndexPath: indexPath)
        cell.textLabel?.text = users[indexPath.row].name
        return cell
    }
    
    func addFunc(name: String)
    {
        let appDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
        let manageContext = appDelegate.managedObjectContext
        let entity = NSEntityDescription.entityForName("User", inManagedObjectContext: manageContext)
        let user = NSManagedObject(entity: entity!, insertIntoManagedObjectContext: manageContext) as! User
        user.setValue(name, forKey: "name")
        
        do
        {
            try manageContext.save()
        }
        catch
        {
            print(error)
            return
        }
        users.append(user)
        tableView.reloadData()
    }
    
    @IBAction func addUser(sender: AnyObject)
    {
        let alert = UIAlertController(title: "New user", message: "Enter user name", preferredStyle: .Alert)
        let okButton = UIAlertAction(title: "Save", style: .Default, handler: {(action: UIAlertAction) -> Void in
            let textField = alert.textFields![0]
            self.addFunc(textField.text!)
            self.tableView.reloadData()
        })
        alert.addTextFieldWithConfigurationHandler ({(textField: UITextField) -> Void in })
        let cancelButton = UIAlertAction(title: "Cancel", style: .Default, handler: {(action: UIAlertAction) -> Void in })
        alert.addAction(okButton)
        alert.addAction(cancelButton)
        presentViewController(alert, animated: true, completion: nil)
    }
}
Класс User:
Objective-C
1
2
3
4
5
6
7
8
9
10
11
import Foundation
import CoreData
 
 
class User: NSManagedObject
{
 
    @NSManaged var name: String?
    @NSManaged var asset: Asset?
 
}
Класс AddAsset:
Objective-C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
import UIKit
import CoreData
 
class AddAssets: UIViewController
{
    
    @IBOutlet weak var tableView: UITableView!
    
    
    var assets = [Asset]()
    
    
     override func viewWillAppear(animated: Bool) 
    {
        let appDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
        let manageContext = appDelegate.managedObjectContext
        let fetchRequest = NSFetchRequest(entityName: "Asset")
        
        do
        {
            let fetchResult = try manageContext.executeFetchRequest(fetchRequest)
            assets = fetchResult as! [Asset]
        }
        catch
        {
            print(error)
            return
        }
    }
    
    func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int
    {
        return assets.count
    }
    
    func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell
    {
        let cell = tableView.dequeueReusableCellWithIdentifier("assetCell", forIndexPath: indexPath)
        cell.textLabel?.text = assets[indexPath.row].name
        return cell
    }
    
    func addFunc(name: String)
    {
        let appDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
        let manageContext = appDelegate.managedObjectContext
        let entity = NSEntityDescription.entityForName("Asset", inManagedObjectContext: manageContext)
        let asset = NSManagedObject(entity: entity!, insertIntoManagedObjectContext: manageContext) as! Asset
        asset.setValue(name, forKey: "name")
        
        do
        {
            try manageContext.save()
        }
        catch
        {
            print(error)
            return
        }
        assets.append(asset)
        tableView.reloadData()
    }
    
    @IBAction func addUser(sender: AnyObject)
    {
        let alert = UIAlertController(title: "New asset", message: "Enter asset name", preferredStyle: .Alert)
        let okButton = UIAlertAction(title: "Save", style: .Default, handler: {(action: UIAlertAction) -> Void in
            let textField = alert.textFields![0]
            self.addFunc(textField.text!)
            self.tableView.reloadData()
        })
        alert.addTextFieldWithConfigurationHandler ({(textField: UITextField) -> Void in })
        let cancelButton = UIAlertAction(title: "Cancel", style: .Default, handler: {(action: UIAlertAction) -> Void in })
        alert.addAction(okButton)
        alert.addAction(cancelButton)
        presentViewController(alert, animated: true, completion: nil)
    }
    
}
Класс Asset:
Objective-C
1
2
3
4
5
6
7
8
9
10
11
import Foundation
import CoreData
 
 
class Asset: NSManagedObject
{
 
    @NSManaged var name: String?
    @NSManaged var user: User?
    
}
Model, Storyboard и что в итоге должно получиться прикрепил картинкой!
Миниатюры
CoreData "Список пользователей"  
Yandex
Объявления
20.09.2016, 18:49     CoreData "Список пользователей"
Ответ Создать тему
Опции темы

Текущее время: 06:37. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru