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
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
Respostas:
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.
Para o Xcode 4.2
Clique em YourModel.xcdatamodeld
Tornar o painel lateral visível
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.
Isso funcionou para mim: https://developer.apple.com/library/mac/recipes/xcode_help-core_data_modeling_tool/Articles/setting_current_version.html
selecionando a versão do modelo de dados principal
Agora, minha migração automática de modelo de banco de dados funciona (com o código de migração automática no delegado).
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;
}