Como usar o registro ativo no ios
Active Record
Conteúdo
Pessoa @interface: NSObject{// atributos Modelo @ NSString privada * Nome @ NSString privada * SSNo -} - (id) de inicialização - (id) initWithOIDNameAndSSNo: (NSString *) OID: (NSString *) aName: (NSString *) aSSNo - ( NSString *) getName - (NSString *) getSSNo - (void) setName: (NSString *) aName - (void) setSsno: (NSString *) aSSNo - (void) setAsRetired - // Outras operações, se qualquer- d
Apenas os métodos de domínio são mostrados nesta interface. Os métodos adicionais necessários para a persistência são definidos no protocolo Persistable:
enum typedef {NEW, existe, mudado, suprimido} State- @ protocolo Persistable // propriedades requeridas pelo @ protocolo necessário @ propriedade (cópia) NSString * OID- // ID Único no @ banco de dados necessário @ propriedade (somente leitura) estado ESTADO - + (id) findByOID: (NSString *) OID-- (void) insert-- (void) update-- (void) delete-- (void) persistem - d
Este protocolo declara dois atributos necessários:
o OID atributo: Este atributo contém o ID persistente do objeto que irá identificar exclusivamente o objeto dentro de uma data-armazenamento persistente.
o Estado atributo: Este atributo indica se o objeto
Video: Como activar FaceTime prender FaceTime en iPhone iPad iPod
Foi recém-criado na memória (estado é NEW).
Existe na base de dados (estado é EXISTENTE).
Foi modificado na memória depois de ser obtido a partir da loja de dados (estado é alterado).
Está marcado para eliminação (estado é excluído).
Video: Como crear una cuenta de app store para mi iphone 5S 5C 5 4 iOS 7 español Channeliphone
O protocolo, então, declara uma coleção de métodos que a classe precisa implementar. Você usa o FindByOid método de classe para trazer um objeto do banco de dados na memória. (Tais métodos são conhecidos como inventor métodos, e você pode ter muitos tipos diferentes deles, como um findByName, findBySSNo, e assim por diante) Pseudocódigo para a implementação deste método na classe Pessoa é mostrado aqui.:
+ (Id) findByOID: (NSString *) anOID {Pessoa * returnedPerson - declaração // SQL para recuperar o objeto do banco de dados // Guardar recuperado NOME e SSNO em variáveis locais aName e anSSNo ... SELECT NOME, SSNO, de PERSONTABLEwhere OID =: anOID EM: aName,: anSSNo-aperson = [[Pessoa alloc] initWithOIDNameAndSSNo: anOID: anSSNo] -aPerson-gt; estado = EXISTENTE-retorno returnedPerson-}
A lógica desse método é o seguinte:
A instrução SQL SELECT incorporada busca o nome e os atributos número da Segurança Social do objeto do banco de dados e salva estes valores nas variáveis locais aName e anSSNo.
Estas variáveis, juntamente com a instanciar OID e inicializar um objeto da classe Person e devolvê-lo.
Video: Hands On: iOS 9 - iPhone e iPad
Em seguida, você ver a implementação dos outros métodos do protocolo Persistable, na classe Pessoa. O método persistir é chamado sempre que o objeto precisa ser salvo no banco de dados, como mostrado aqui:
- (Void) {// persistir Verifique o estado do objeto // Se é um novo objeto ou seja state = nova chamada [auto inserção] // para criar uma entrada no PERSONTABLE // Se state = EXISTE não fazer nada // Se o estado = MUDOU, atualização chamada para atualizar o banco de dados // Se o estado - excluído, chamar delete para remover as informações // no banco de dados}
A persistir método usa a variável de estado para invocar os métodos adequados para a persistência do objeto.
Se o objecto é criado recentemente, uma ficha é inserida na tabela do objecto utilizando o método de inserção, como mostrado a seguir:
- (Void) inserir {INSERT INTO PERSONTABLE (OID, nome, SSNO) VALUES: OID: Nome: SSNo ...}
Se o objeto é recuperado do banco de dados e, em seguida, modificado na memória, o método de atualização é chamado.
- (Void) {atualização ATUALIZAÇÃO PERSONTABLE definir valores NAME = Nome, SSNO =: SSNoWHERE OID =: OID ...}
Se o objeto é recuperado do banco de dados e, em seguida, marcado para exclusão na memória, o método delete é chamado.
- (Void) delete {DELETE FROM PERSONTABLE ONDE OID =: OID -...}
Note-se que os métodos de domínio, bem como os métodos de busca deve definir o estado do objecto de forma adequada. Como resultado, o init define o estado do objeto a NOVO, findByOID define o estado para existente, setAsRetired poderia definir o estado para excluído, setName e setSSNo definir o estado para alterado (se o estado original já existente), e assim por em.
Os métodos de domínio e os métodos de persistência são, portanto, acoplada a um certo grau.
Quando você usa o Active Record para armazenar objetos em um banco de dados relacional, que normalmente mapeia um objeto a uma tabela de banco de dados, com variáveis persistentes do objeto mapeados para campos dessa tabela.
Video: Tutorial:Bypass Apple ID Activation,iOs 9.3.modo de uso em iCloud,iPhone,iPad,iPod Touch,PT-BR
Toda a lógica de gerenciamento de ciclo de vida do objeto - decidir quando buscá-lo a partir do banco de dados, se a permitir instância duplicada na memória correspondente ao mesmo objeto no banco de dados, quando para salvar, quando excluir objetos permanently- são responsabilidades do aplicativo .