Публикувано Януари 11, 201115 гд Здравейте, занимавам се от известно време със SDK-то, програмирам си разни неща с XCode, почнах да ползвам CoreData, но това с връзките не ми става много ясно Работил съм с релационни бази от данни, обектно ориентирани бази от данни и т.н. Така....да приемем, че искам да имам 2 таблици - User, която да има ID и CityID, а другата таблица City - CityID, CityName. Без да правя релации мога да си ползвам данните от двете таблици в кода, след като генерирам класовете, но едва ли това е най-културният начин Другият вариант е да махна CityID от Users таблицата, да направя в нея една релация с destination към таблицата City. Така в генерирания клас ще ми се появи поле от тип City. В такъв случай ще продължавам ли да имам нужда от CityID в таблицата City, след като не свързвам нещата по id? Може би CoreData-ta сама си прави тези връзки, но после лесно ли е взимането, променянето, вкарването на данни в таблиците? Или има и още по-кадърен вариант? Ако може и някой да даде някъде из нета нормално четиво по въпроса с relationships
Публикувано Януари 12, 201115 гд Чете ли от извора? http://developer.apple.com/library/mac/#documentation/cocoa/Conceptual/CoreData/Articles/cdRelationships.html
Публикувано Януари 12, 201115 гд Автор Ами да, четох! Но там не правят пряко сравнение между CoreData бази и SQLite примерно. И не всичко става ясно Иначе вчера намерих едно добро с пример.
Публикувано Януари 12, 201115 гд номера е да зададеш допълнително етикет на релацията ти към другата таблица ... с различните интерфейси става по различен начин ... ето ти прост пример как става с Perl при две таблици 1) Users Name - VARCHAR CityID - SMALLINT 2) Cities CityID - SMALLINT Name - VARCHAR задаваш при таблица Users да има relationship към Cities от вида belongs to, който да се казва city и след това в кода просто пишеш print $user->name." ".$user->city->name; това е за perl ( DBIx::Class )... иначе при повечето relationship mapper-и е по подобен начин ... само трябва да откриеш как да зададеш relationship-овете ...
Публикувано Януари 15, 201115 гд ... Другият вариант е да махна CityID от Users таблицата, да направя в нея една релация с destination към таблицата City. Така в генерирания клас ще ми се появи поле от тип City. В такъв случай ще продължавам ли да имам нужда от CityID в таблицата City, след като не свързвам нещата по id? Може би CoreData-ta сама си прави тези връзки, но после лесно ли е взимането, променянето, вкарването на данни в таблиците? ... Това е правилният начин - добавяш релацията и махаш CityID полето от таблиците. CoreData-та ще си добави Primary Key в таблица City и съответното поле в таблица User и ще си направи връзката по тях. В последствие работата с данните е много лесна.
Публикувано Февруари 6, 201115 гд Автор Имам още въпроси относно CoreData, но да не пускам нова тема... Къде се съхранява .sqlite файла, който всъщност съхранява базата и е съсздаден чрез CoreData? И как може да се отвори и разгледа после този файл със схемата на базата и т.н.?
Публикувано Февруари 7, 201115 гд Файла с базата се намира в Documents папката на приложението. Можеш да го отвориш с всеки sqlite tool - има ги много и най различни. Аз лично ползвам command-line tool-a на самия телефон или един addin за firefox. И двете не са кой знае какво ама то и много рядко ми се налага да ровя в базата - обикновенно го правя от любопитство.
Публикувано Февруари 7, 201115 гд Автор На мен ми трябва, ако може този файл да се ползва от приложени за андриод, да не се прави цшлата база на ново. Проблема е, че не намирам папката на приложението. Търся в телефона - /var/mobile/Applications Но изглежда май не е правилно. Самото приложение е качвано само от XCode. А не би ли трябвало базата да я има и на самия компютър, след като приложението съм до пускал и на симулатора?
Публикувано Февруари 9, 201115 гд Точно във /var/mobile/Applications трябва да е приложението ти. Иначе ги има и на симулатора ама ще ти кажа довечера къде точно, че в момента мак-а ми не е пред мен.
Публикувано Февруари 9, 201115 гд /Users/<username>/Library/Application Support/iPhone Simulator/ После каквото сабя покаже...
Публикувано Февруари 10, 201115 гд Автор Четейки от извора: /var/mobile/Applications/30B51836-D2DD-43AA-BCB4-9D4DADFED6A2/Documents However, in iOS Simulator, the returned path is of the following form: /Volumes/Stuff/Users/johnDoe/Library/Application Support/iOS Simulator/User/Applications/118086A0-FAAF-4CD4-9A0F-CD5E8D287270/Documents ама малко тъпо ми се вижда това, че имената на папките са guid-ове и сега трябва да ги отварям всички папки една по една иначе съм пускал search и не намираше никакви .sqlite файлове на компа! едит: най-накрая я изнамерих папката и вътре мирно си стоеше базата и я разгледах с фф довечера ще проверя и на лаптопа, дано и там я открия най-накрая Мерси за хелпа Редактирано Февруари 10, 201115 гд от iHustle
Присъединете се към разговора
Можете да публикувате сега и да се регистрирате по-късно. Ако имате акаунт, влезте сега да публикувате с вашия акаунт.