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

Swift

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

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

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

Всем привет!

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

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

Нуб спрашивает Пропало окно "Welcome to xcode" - Swift
Нечаяно убрал галочку с "show this window when Xcode launches". Как венруть, нигде не найду. Поможете?))

Сохранение данных по нажатию кнопки "Home" - Swift
Здравствуйте уважаемые! Пишу приложение на Swift для iOS, которое должно сохранять данные при закрытии (сворачивании) приложения. Ни как не...

Написание приложения " Расписание " для ВУЗа - Swift
Ребят, всем привет. Начал писать приложение. Получил техническое задание. Мне нужно как-то строку из таблицы связать с временем так, чтобы...

Ошибка: "Thread 1: signal SIGABRT" - Swift
проект практически чистый есть tableviewcontroller1 его инициализировал своим классом и его Cell тоже своим классом при нажатии на его...

CoreData , наследование - Программирование iOS
Доброе время суток! Такой вопрос. У меня в модели есть объект "Person". Мне нужно составить таблицу из этих объектов, но чтобы каждый...

Редактирование CoreData - Программирование iOS
Здравствуйте. Подскажите как можно редактировать содержимое CoreData? Имеется ввиду не добавление/удаление данных из приложения, а...

2
Митя800
54 / 55 / 14
Регистрация: 13.07.2015
Сообщений: 184
18.09.2016, 15:26 #2
Чтобы быстрее получить ответ, советую текст программы написать здесь на форуме. Вряд ли кто будет скачивать архив и смотреть код.
0
iOS_Programmer
0 / 0 / 0
Регистрация: 13.09.2016
Сообщений: 2
20.09.2016, 18:49  [ТС] #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 и что в итоге должно получиться прикрепил картинкой!
0
Миниатюры
CoreData "Список пользователей"  
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.09.2016, 18:49
Привет! Вот еще темы с ответами:

CoreData and FetchRequest - Программирование iOS
Hi, столкнулся с проблемкой... Есть БД, юзаю CoreData. В БД есть 2 поля lat,lon - тип данных double. Через визуальный редактор создал...

Сервер / Game Center для онлайн игры "Шашки" - Программирование iOS
Здравствуйте уважаемые пользователи форума. Реализовал ли кто-то из вас онлайн игры под ios? Планирую заказать разработку онлайн игры...

Как создать кнопку "like" (например, фейсбуковский) на UIView? - Программирование iOS
я создал (пустой) проект (view-based application). теперь хочу прикрепить на экран facebookLike кнопочку. затем приложение должно спросить...

Нужна загрузка "даты" с RSS | iOS | Xcode - Программирование iOS
Здравствуйте! У меня установлены 2 библиотеки ( RSS Parser и AFNetworking)! Мне нужна загрузка ДАТЫ в ТАБЛИЦУ используя RSS.


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

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