Xcode 4, Versão do modelo de dados principal - Definir versão atual

183

Estou confuso sobre como executar a seguinte função no Xcode 4 para definir o modelo a ser usado após criar um modelo com versão.

Design> Modelo de Dados> Definir Versão Atual

Nate Potter
fonte
15
Eu gostaria de poder votar isso toda vez que precisar refazer a referência.
erik 23/09

Respostas:

329
  1. Clique no arquivo .xcdatamodelId de nível superior (aquele que possui muitas versões do .xcdatamodel como filhos).
  2. Verifique se o painel lateral Utilities está visível (se não estiver, clique no terceiro botão "View" no canto superior direito da janela).
  3. No painel lateral Utilitários, selecione o Inspetor de arquivos (pequeno ícone de papel no canto superior esquerdo)
  4. Você verá o "Modelo de dados principais com versão" como um grupo. Basta alterar o menu suspenso "Atual" para sua nova versão.
Ben
fonte
2
Incrível, obrigado! Também encontrou o mesmo painel em Exibir> Utilitários> Inspetor de Arquivos
Nate Potter
ainda se acostumando com as mudanças entre o Xcode 3 e 4, obrigado!
31411 Chris
15

No Xcode 4, se você vir apenas uma versão do seu modelo de dados na seção "Modelo de dados principal com versão - Atual" do inspetor de arquivos quando tiver seu arquivo * .xcdatamodeld selecionado; ou você tem uma segunda versão do seu arquivo * .xcdatamodel mostrando fora do pacote xcdatamodeld no navegador de projeto do Xcode, leia abaixo.

Para corrigir isso:

1) Remova as referências * .xcdatamodeld e * .xcdatamodel do Xcode clicando com o botão direito do mouse nelas no navegador do projeto e pressionando "Excluir".

2) Quando solicitado pelo Xcode, clique em Remover apenas referências (muito importante).

3) Reinicie o Xcode para uma boa medida, caso haja algum cache em andamento.

4) Adicione novamente o arquivo * .xcdatamodeld único que contém os arquivos * .xcdatamodel.

O Xcode agora deve reconhecer os relacionamentos e permitir que você expanda o arquivo * .xcdatamodeld no navegador do projeto para mostrar os dois arquivos * .xcdatamodel no pacote pai xcdatamodeld, mostrando também uma marca de seleção verde ao lado do modelo atual. Isso também deve permitir que você selecione a versão atual do modelo de dados no inspetor de arquivos, em vez de mostrar apenas uma versão.

Andrew
fonte
E assim termina a cabeça coçando.
Steve Madsen
Mudei acidentalmente o xcdatamodelid pai para pacote de aplicativos e esta solução ajudou!
morph85
4

Para o Xcode 4.2

  1. Clique em YourModel.xcdatamodeld

  2. Tornar o painel lateral visível

  3. Em "modelo de dados do núcleo com versão", selecione a "caixa suspensa atual", selecione seu modelo de dados.

Agora a marca verde é movida para o seu modelo de dados atual.

Dax
fonte
Não há nada como "modelo de dados do núcleo com versão" na "Biblioteca de Objetos". A primeira resposta (de Mac_Cain13) está correta, embora pareça ter um erro estranho, pois meu modelo está fora do .modeld no Xcode.
StuFF mc
@StuFFmc - Confira meu post abaixo para corrigir o problema do arquivo xcdatamodel estar fora do pacote xcdatamodeld no navegador de projeto do Xcode.
25412 Andrew
2

A pesquisa na "Versão atual" da Ajuda do Xcode gera uma receita "Definindo a versão atual de um modelo de objeto gerenciado", que descreve como fazer isso ...

mmalc
fonte
1

Um pouco fora de tópico, mas se você chegou a essa pergunta para saber como criar uma primeira nova versão do seu modelo (como eu fiz): clique no arquivo xcdatamodel >> Menu "Editor" >> Adicionar versão do modelo

Isso iniciará a versão do modelo.

Ben G
fonte
-1

Você também pode usar o método setter da CoraData ...
Basta fazer algo assim ...

No seu CustomCoreDataManager.m :

#import "ObjectiveRecord.h"

e chame o método init como este

- (instancetype)init {

    self = [super init];

    if (self) {           
        [[CoreDataManager sharedManager] setModelName:@"YourModelName"];
    }

    return self;
}
John
fonte