mgreen Posted October 19, 2016 at 05:55 PM Report #599749 Posted October 19, 2016 at 05:55 PM Boas, sou novo em programar para iOS e estou a ter problemas com algo que aparentemente é simples, mas que me tem dado algumas dores. No fundo o que eu pretendo, é que o o Xcode replique a estrutura que está presente na pasta do projecto (Finder). Ou seja, para este exemplo pretendo criar uma pasta "viewcontrollers" para colocar lá o ficheiro "viewController.swift", e uma pasta "views" para colocar lá o ficheiro "Main.storyboard". vídeo com o problema: https://www.youtube.com/embed/q18sz7DC0sc?feature=oembed
Knitter Posted October 19, 2016 at 06:12 PM Report #599750 Posted October 19, 2016 at 06:12 PM Recomendo que faças isso com grupos em vez de referências para pastas. No entanto se quiseres usar referências para pastas, primeiro crias as pastas no Finder depois adicionas a pasta ao XCode com a opção "Add Files To ..." (botão direito em cima do item onde queres que os ficheiros fiquem) e escolhes a pasta (apenas) que queres adicionar. Desmarca a opção para criar grupos e a opção para criar cópias (vais mover os ficheiros depois). Com as pastas adicionadas ao XCode, arrasta o ficheiro que queres para a referência da pasta (pode ser no XCode ou no Finder), a partir deste momento quaisquer alterações no Finder serão refletidas no XCode. Vais perder a capacidade de referenciar recursos apenas com o nome, tens de indicar o caminho completo (a partir da raiz do projeto), com todas as pastas, para todos os recursos que queres usar. Em alternativa podes usar grupos que são apenas lógicos (só existem no XCode) e configurar os grupos de acordo com a estrutura de pastas que tens, se necessário. Ao criares um novo ficheiro de código, navegas até à pasta onde pretendes criar o ficheiro e o XCode cria uma referência automaticamente. Assim podes ter uma organização para a pasta do projeto e outra visível no XCode. Eu só costumo criar uma pasta "Source" onde coloco todo o código. Não crio referências nem grupos para esta pasta, cada vez que adiciono um ficheiro de código escolho esta pasta e coloco depois o ficheiro no grupo lógico que me interessa. Acho as desvantagens das referências para pastas mais complicadas e raramente (mesmo nunca 🙂 ) tenho de editar ficheiros fora do XCode, mesmo as imagens vão para o asset bundle por isso não há outros ficheiros a gerir.
mgreen Posted October 19, 2016 at 06:44 PM Author Report #599751 Posted October 19, 2016 at 06:44 PM Antes de mais obrigado pela ajuda, de qualquer forma, tentei da forma como descreves-te e continuo com o mesmo problema (se selecionar "addFiles" nem pergunta se quero criar grupo ou referencia a pastas, por defeito assume a opção referencia a pastas. Basta mover um dos ficheiros que tenho logo problemas. Acho que vou optar por usar os grupos, só queria mesmo fazer desta maneira porque estou a seguir um livro e queria que ficasse igual...
Knitter Posted October 19, 2016 at 07:32 PM Report #599753 Posted October 19, 2016 at 07:32 PM Se está a assumir opções é porque não as desactivaste, confirma se não tens um botão "Options" no canto inferior esquerdo que podes expandir para revelar mais opções... ou então não percebi o problema.
mgreen Posted October 19, 2016 at 07:57 PM Author Report #599754 Posted October 19, 2016 at 07:57 PM o que eu queria dizer é que quando seleciono a opção "addFiles", não aparece este ecrã. Quanto à tua pergunta não encontro nenhum botao "options" no canto inferior esquerdo... http://12572-presscdn-0-99.pagely.netdna-cdn.com/wp-content/uploads/2015/12/AddingFolder.jpg
Knitter Posted October 19, 2016 at 08:19 PM Report #599755 Posted October 19, 2016 at 08:19 PM Isto é como eu faço, não sei se ajuda. https://youtu.be/Cu5hzCJe-CM
mgreen Posted October 19, 2016 at 09:51 PM Author Report #599757 Posted October 19, 2016 at 09:51 PM Muito obrigado pela ajuda e desculpa o trabalho... segui o teu exemplo e assim funciona na boa. Para ficar mesmo como pretendia era no project navigator em vez de estar em grupos (pastas amarelas), estar como referencia a pastas (pastas azuis). Infelizmente sempre que tento fazer por referência a pastas, ao clicar na seta (viewcontroller) no Main.storyboard, não sou direcionado para o ficheiro viewcontroller.swift e se clicar no assistant editor também não aparece nada. Quanto ao ficheiro Main.storyboard, que também movi para uma subpasta, com a opção grupos funciona, já com referência a pastas no Main Interface nem sequer é reconhecido. P.S.: os alerta a indicar que os ficheiros estão em falta já não aparece, penso que seja por ter feito uncheck ao source control, na altura de criar o projecto. De qualquer maneira a forma como indicaste funciona e sempre dá para ter uma estrutura igual tanto no xcode como no Finder.
mgreen Posted October 19, 2016 at 10:51 PM Author Report #599760 Posted October 19, 2016 at 10:51 PM Já consegui resolver o problema para o ficheiro "viewcontroller.swift". Basicamente, o que fiz foi criar um grupo já com o ficheiro adicionado como no teu exemplo. Depois para passar para "azul" (referenciar pasta) o que fiz foi: 1. selecionei o grupo "viewcontrollers" (pasta amarela) e fui até à tab "File Inspector" e no ícone com forma de pasta, onde diz "none", indiquei a pasta onde o ficheiro está no sistema (no meu caso, viewcontrollers/viewcontroller.swift") 2. Eliminei o ficheiro que ficou a vermelho 3. importei a pasta "viewcontrollers" e apaguei o grupo Desta forma não tenho problemas e consigo aceder ao viewcontroller através do main.storyboard e também já abre o editor assistant. O único problema que estou a ter agora é com o ficheiro Main.storyboard, se fizer o mesmo processo o ficheiro não aparece na Main Interface, e a conexão com o viewcontroller deixa de existir...
mgreen Posted October 19, 2016 at 11:20 PM Author Report #599761 Posted October 19, 2016 at 11:20 PM (edited) Quero só deixar aqui o meu obrigado ao Knitter pela disponibilidade em querer ajudar, 5*!! Deixo aqui um print do resultado que pretendia alcançar, ou seja, o project navigator a referenciar as pastas e não os grupos. Para além disso, já consigo arrastar elementos para o viewcontroller Basicamente o que fiz, expliquei na publicação anterior, a única diferença foi ter alterado primeiro o ficheiro Main.storyboard e só depois o ficheiro viewController.swift. [Quase RESOLVIDO] Edited October 19, 2016 at 11:59 PM by mgreen
Knitter Posted October 19, 2016 at 11:23 PM Report #599762 Posted October 19, 2016 at 11:23 PM Não consigo trabalhar com referências para pastas, além de ser mais trabalho estar a indicar o caminho para o ficheiro em vez de usar só o nome, não me entendo com a forma como é feita a referência, prefiro os grupos 🙂
mgreen Posted October 19, 2016 at 11:58 PM Author Report #599763 Posted October 19, 2016 at 11:58 PM Falei antes do tempo 😞 Testei com uma label e o ecrã fica branco, pelos vistos o Main não é reconhecido. Tens uma solução? P.S.: tirando este problema está tudo perfeito!!!
Knitter Posted October 21, 2016 at 08:05 AM Report #599785 Posted October 21, 2016 at 08:05 AM A maioria das opções não espera que estejas a usar referências para pastas, além de não ser nada normal colocar o storyboard principal numa sub-pasta e depois usá-lo com a interface (neste caso é comum é ser carregado manualmente). Nessa opção terás de indicar à mão o caminho para o storyboard, apenas a partir da raiz do projeto.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now