ARTES #001
ARTES #001
ARTS é uma atividade iniciada por
由左耳朵耗子--陈皓: Faça pelo menos uma pergunta sobre o algoritmo leetcode toda semana, leia e comente pelo menos um artigo técnico em inglês, aprenda pelo menos uma habilidade técnica e compartilhe um artigo com opiniões e pensamentos. (Ou seja, Algoritmo, Revisão, Dica e Compartilhamento são chamados de ARTS) e persistem por pelo menos um ano.
ARTES 001
Este é o primeiro artigo e está relativamente mal escrito. Espero que fique cada vez melhor no futuro.
Pergunta sobre algoritmo de algoritmo
Pergunta do algoritmo leetcode 344 String reversa (string reversa)
Write a function that takes a string as input and returns the string reversed.
Example:
Given s = "hello", return "olleh".
请编写一个函数,其功能是将输入的字符串反转过来。
示例:
输入:s = "hello"
返回:"olleh"
Esta questão é relativamente simples e pode ser implementada da seguinte forma:
char* reverseString(char* s) {
int len=strlen(s);
int mid=len/2;
for(int i=0,j=len-1;i<mid,i<j;i++,j--){
char tmp;
tmp=s[i];
s[i]=s[j];
s[j]=tmp;
}
return s;
}
Também pode ser implementado de outras maneiras, como uma pilha. Deve-se notar que usar uma pilha para implementá-la requer o dobro do espaço de memória.
Revisão
O seguinte artigo vem de: https://littlebitesofcocoa.com/280-flowing-text-around-images-with-exclusion-paths;. Ele fala sobre como conseguir o efeito de quebra automática de texto, o que é bastante prático no desenvolvimento.
Fluxo de texto em torno de imagens com caminhos de exclusão (use o método excludePaths para envolver o texto em torno de imagens)
O texto é uma grande parte dos aplicativos iOS. Hoje veremos uma maneira de aprimorar o texto em nossos aplicativos, permitindo que ele “flua” naturalmente em torno dos objetos. Vamos começar.
O texto é uma parte importante dos aplicativos iOS. Hoje veremos o que podemos fazer com o texto em um aplicativo, permitindo que ele “flua” naturalmente em torno de uma imagem. Vamos começar.
Começaremos com uma foto do “antes”. Aqui temos uma configuração básica com algum texto e uma imagem no canto superior direito. Nada muito sofisticado aqui, apenas UITextView e UIImageView normais: Começaremos com as fotos do “antes”. Aqui temos um layout comum com algum texto e uma imagem no canto superior direito. Nada de especial aqui, apenas UITextView e UIImageView normais:
let imageView = UIImageView(image: UIImage(named: "steve"))
let textView = UITextView(frame: .zero)
textView.text = "Here's to the crazy ones..."
<img src=“/img/15330428668213.jpg” largura=“50%” altura=“50%” />
Isso parece bom. Mas nosso texto é desnecessariamente restrito. Seria ótimo se pudéssemos expandir o texto para toda a largura do dispositivo. Vamos mudar o layout da nossa Visualização de Texto para que assim seja: Parece bom. Mas a largura da nossa exibição de texto fica mais estreita. Seria ótimo se pudéssemos estender o texto por toda a largura do dispositivo. Alteraremos o layout da visualização de texto para ficar assim:
<img src=“/img/15330428846540.jpg” largura=“50%” altura=“50%” />
Bem, estamos nos aproximando. Agora só precisamos de uma maneira de fazer o texto “fluir” ou “envolver” nossa imagem. Começaremos obtendo o quadro da visualização da imagem e depois criaremos um caminho a partir dele:
deixe imagePath = UIBezierPath (rect: imageView.frame) Por fim, definiremos nosso novo caminho como um dos excludePaths do textContainer da nossa Text View:
textView.textContainer.exclusãoPaths = [imagePath]
Bem, estamos nos aproximando. Agora só precisamos de uma maneira de fazer o texto “fluir” ou “envolver” nossa imagem. Primeiro obtemos o quadro da visualização da imagem e depois criamos um caminho a partir dele:
deixe imagePath = UIBezierPath (rect:imageView.frame) Finalmente, definimos o novo caminho para um dos excludePaths do textContainer da Text View:
textView.textContainer.exclusãoPaths = [imagePath]
<img src=“/img/15330429892173.jpg” largura=“50%” altura=“50%” />
Sucesso! Como excludePaths é um Array, podemos fluir o texto em quantas formas quisermos! Sucesso! Como excludePaths é um array, podemos fluir o texto em torno dele conforme necessário!
<img src=“/img/15330430319407.jpg” largura=“50%” altura=“50%” />
Demonstração: https://github.com/danminyi/TextAroundImages
Dica
Ao usar o Xcode, às vezes quero alterar o valor de uma determinada variável durante a depuração. Por exemplo, na imagem abaixo, quero modificar o valor de imageView. A abordagem geral é modificar e executar novamente. Isso é muito ineficiente. Além de usar ferramentas de terceiros, como revelação e injeção, você também pode usar o método que vem com o xcode - ponto de interrupção, conforme mostrado na figura abaixo, você pode modificar diretamente o quadro do imageView. Após verificar Automaticamente abaixo, o ponto de interrupção não irá pausar quando você alcançá-lo e você poderá executá-lo diretamente. Não é muito conveniente, especialmente ao depurar a função de passagem de parâmetros? É tão conveniente.

Compartilhar
Esta semana estou assistindo “Como a Internet está conectada” (https://book.douban.com/subject/26941639/) Ainda não terminei o segundo capítulo. Devo dizer que este livro é realmente adequado para iniciantes em redes. Já li alguns livros da rede antes, mas não consegui terminá-los. Talvez minha base seja muito pobre. Este livro primeiro explica todo o quadro da rede e depois explica cada detalhe. Desde o URL que você insere no navegador até a resposta do servidor, até o navegador que exibe os dados, cada etapa do processo tem uma explicação fácil de entender. Eu também li Illustrated HTTP e Illustrated TCP/IP antes, mas não os entendi muito bem; muitos livros explicavam apenas um ponto, como um cego tocando um elefante, incapaz de considerar a situação geral; ou explicaram diretamente os princípios sem combiná-los com cenários de uso diário, dificultando a compreensão das pessoas. Este livro começa com os cenários com os quais você está mais familiarizado e depois fala sobre os princípios. É claro que este livro é voltado para iniciantes em redes, portanto, muitos pontos de conhecimento não podem ser explicados com muita profundidade, portanto, este livro é adequado apenas para iniciantes. Já fiz programação de soquete antes, mas nunca entendi o processo específico. Depois de ler os dois primeiros capítulos, senti-me subitamente iluminado. Se você sempre quis aprender mais sobre a Internet, mas depois de ler muitos livros, ainda sente que não começou ou está confuso e não tem noção da rede geral, então este livro é adequado para você.
What to read next
Want more posts about ARTS?
Posts in the same category are usually the best next step for reading more on this topic.
View same categoryWant to keep following #iOS?
Tags are useful for related tools, specific problems, and similar troubleshooting notes.
View same tagWant to explore another direction?
If you are not sure what to read next, return to the homepage and start from categories, topics, or latest updates.
Back home