- 博客(35)
- 资源 (4)
- 收藏
- 关注
原创 iOS开发 循环引用的几种场景
delegate 循环引用 如果delegate使用strong修饰容易引起循环引用block 循环引用 block和self的相互持有会造成循环引用 为了避免产生循环引用,通常需要使用 weakSelf 与 strongSelf,如下__weak typeof(self) weakSelf = self;[self doSomeBlockJob:^{ __stron...
2018-06-28 09:48:13
534
原创 React Native开发之路(三)
一个APP开发,网络请求是必不可少的,在项目中我被分配到任务是网络请求参数的封装,所以本文主讲的是网络请求的封装。 先上代码,我再解释用法:import React, { Component } from 'react';import { AppRegistry, StyleSheet, Text, View, ListView, Image,
2018-04-12 10:48:43
330
原创 React Native开发之路(二)
如果你搭建好环境后,学了一些js、css什么的,可以开始做界面,这里我就展示一下App里很常见的注册界面吧。我是初学者,代码写的不好,希望大家多提宝贵意见,谢谢。 本文主要将得是跟输入框相关的界面开发,详见代码,不懂的可以找我。import React, { Component } from 'react';import { TouchableOpacity, AppRegist
2018-04-12 10:47:36
250
原创 React Native开发之路(一)
很久以前,就是接触过RN,搭建了RN的开发环境,弄了个Hello Word的demo出来,就没有再去学习了,因为工作用不上,自己的CSS和JS都是不会,所以提不起兴趣来。 最近一个机缘,一个哥们儿拉我去做项目,APP不用原生开发,用RN来写两端的App。朋友叫上我了,也不好拒绝,做项目还有钱不说,而且还能拓宽自己的技术面,何乐而不为呢。嘻嘻~ ��上面都是废话。可以忽略,呵呵。。。下面进入主题吧
2018-04-12 10:46:35
1543
原创 Runtime实现防止按钮重复点击
最近测试总说由于手速太快,点击按钮,连续push了两次页面。为了防止按钮短时间内的重复点击,就用runtime实现防止按钮的重复点击。 头文件#import <UIKit/UIKit.h>#define defaultInterval 0.1 //默认时间间隔@interface UIButton (YQFixMultiClick)@property (nonatomic, assign) N
2018-03-20 10:18:46
423
转载 Vim 命令集合
曾经使用了两年多的Vim,手册也翻过一遍。虽然现在不怎么用vim了,曾经的笔记还是贴出来,与喜欢vim的朋友分享。1. 关于Vimvim是我最喜欢的编辑器,也是Linux下第二强大的编辑器。 虽然emacs是公认的世界第一,我认为使用emacs并没有使用vi进行编辑来得高效。 如果是初学vi,运行一下vimtutor是个聪明的决定。 (如果你的系统环境不是中文,而你想使用中
2016-11-09 20:02:53
1028
原创 用代码成就浪漫之iOS动画学习
动画效果设计一直是iOS平台的优势,良好的动效设计可以很好地提升用户体验,丰富app的展示,而动画则是动效的基础支撑。今天就来看一下简单的动画学习。 概念性的东西我就不做介绍了,我就直接上代码(简单暴力,呵呵)1.简单的缩放代码- (CAAnimation *)SetupScaleAnimation{ CABasicAnimation *scaleAnimation = [CABasicA
2016-05-27 15:49:16
910
原创 iOS开发技巧之LLDB打印支持frame或id类型
在断点调试时,我们有时侯祥看看我们应用视图的某个view的frame或者其他的id类型的值 直接输入:po xxxxView.frame总会提示一个错误,如下图: 刚开始,我总是用代码NSlog去打印这些值,但是很不方便,经过摸索学习到了两种解决方法:解决方法一使用类型转换来打印frame,不用po(print object),使用p(print)来打印,如下图:解决方法二(这个就是长期也有效的
2016-05-26 10:18:43
1449
原创 iOS开发之字体设置
在网上找了很多iOS开发的字体设置,发现都没用,因为网上给的很多字体的name系统根本就没有。所以设置的并没有效果,还是跟使用systemFontOfSize设置的效果一样;于是我就自己看了下font类的属性和方法,找到了我想要的东西,哈哈;iPhone使用的默认字体是“苹方”,如果你想使用系统自带的其他字体,如果不知道字体的名字,可以先把字体的类型打印出来,然后再设置,如下图:1.打
2016-05-20 09:36:06
561
原创 iOS开发之自定义AlertView
运行效果(运行效果里的alertView只是代码里的其中一种alert,还有可以改变部分文字颜色的alert,没有按钮的,没有title,等等。。。):代码下载地址:https://github.com/Naruto-yq/YQAlertView
2016-05-04 11:30:59
397
原创 iOS自定义TabBar使用popToRootViewControllerAnimated重叠问题解决
先看下现象吧,如下图:不仅仅重叠了,而且还把图标给覆盖了。很郁闷。折腾了很久,终于找到解决办法了。在自定也的NavigationController中添加如下代码:- (void)viewDidLoad{ [super viewDidLoad]; [[NSNotificationCenter defaultCenter] addObserver:self s
2016-04-26 21:01:59
4344
3
原创 使用Masonry报unrecognized selector sent to instance的错
问题的来源: 现在我公司有两个项目,A项目(使用xcode的版本比较旧),B项目(使用最新的xcode版本); B项目是使用cocoaPods管理第三方库,并加了一些第三方库。A项目没有。 现在要更新A项目,A和B项目有部分相似的界面,于是我把B项目的部分代码移植到A项目,并且给A项目添加Pod来管理第三方库。 于是这里在使用Masonry事
2016-04-13 19:44:41
6314
1
转载 关于Xcode的Other Linker Flags
背景在ios开发过程中,有时候会用到第三方的静态库(.a文件),然后导入后发现编译正常但运行时会出现selector not recognized的错误,从而导致app闪退。接着仔细阅读库文件的说明文档,你可能会在文档中发现诸如在Other Linker Flags中加入-ObjC或者-all_load这样的解决方法。那么,Other Linker Flags到底是用来
2016-04-13 17:17:19
1419
原创 ios学习路线-详细
iOS开发学习路线 源码:https://github.com/shaojiankui/iOS-Route在线预览:http://ios.skyfox.org/route.html
2016-04-12 00:22:13
302
原创 iOS开发之collectionView实现无限轮播视图
运行效果:代码:头文件:#import static NSString *ID = @"bannerCell";@class BannerView;@protocol BannerViewDelegate @optional- (void)bannerView:(BannerView *)bannerView didSelectedAtIndex:(NSInteger)nIndex
2016-04-09 15:16:14
1553
原创 ios开发模仿CocoaChina精选代码使用masonry计算cell的高度总结
http://code.cocoachina.com/view/128541 这是来自于cocoachina的精选代码,于是我就以学习的目的去自己去实现这个功能敲了一遍,因为我没用过masonry这个第三方框架,一直听朋友说,这个比较好用。但是cocoachina的源代码有个问题一只困扰着我,源代码在运行后,滑动tableView,内存将无限增大。我就看了一下他创建cell的源
2016-03-17 17:07:10
1173
1
原创 ios开发之libcurl库的编译详细教程
libcurl支持ftp,http等协议的文件读取,还能自动获取文件大小, 最重要的是不需要怎么修改就能稳定支持完整下载大文件,还能支持跨平台。
2016-03-11 10:38:07
9769
7
原创 OS X 不可或缺的套件管理器Homebrew的安装及其常用命令
brew 又叫Homebrew,是Mac OSX上的软件包管理工具,能在Mac中方便的安装软件或者卸载软件, 只需要一个命令, 非常方便1.安装brew,打开终端,拷贝以下命令执行/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
2016-03-04 09:21:17
1043
转载 iOS开发之Masonry使用详解
文章来自http://www.brighttj.com/ios/ios-masonry-demo.html#comment-353如果说自动布局解救了多屏幕适配,那众多三方库的出现就解救了系统自动布局的写法。Masonry就是其中一个。在Github上,Masonry已经得到6000+个star,用法上也比较简单灵活,很大程度上替代了传统的NSLayoutConstraint布局方式。
2016-01-11 16:12:08
855
转载 iOS开发之使用Xcode和Instruments调试解决iOS内存泄露
虽然iOS 5.0版本之后加入了ARC机制,由于相互引用关系比较复杂时,内存泄露还是可能存在。所以了解原理很重要。这里讲述在没有ARC的情况下,如何使用Instruments来查找程序中的内存泄露,以及NSZombieEnabled设置的使用。本文假设你已经比较熟悉Obj-C的内存管理机制。实验的开发环境:XCode 4.5.21、运行Demo。先下载一个实现准
2016-01-05 17:43:08
320
转载 iOS开发之LLDB断点调试和常用命令
技巧一:运行时修改变量的值你以前怎么验证是不是某个变量的值导致整段程序不能正常工作?修改代码中的变量的值,然后cmd+r重新启动app?现在你不需要这么做了,只需要设置一个断点,当程序在这进入调试模式后,使用 expr 命令即可在运行时修改变量的值。假如有一个loginWithUsername:方法,需要两个参数:username,password。首先设置好断点,如下图所
2016-01-04 15:45:18
850
转载 iOS开发之cocoaPods安装教程
一、概要iOS开发时,项目中会引用许多第三方库,CocoaPods(https://github.com/CocoaPods/CocoaPods)可以用来方便的统一管理这些第三方库。二、安装由于网上的教程基本都大同小异,但细节之处还不是很完善,所以借机会在这里补充下:注:要使用CocoaPods,那就要下载安装它,而下载安装CocoaPods需要Ruby
2016-01-03 02:08:29
333
原创 ios开发之HTTP请求常见错误
HTTP 错误 400 400 请求出错 由于语法格式有误,服务器无法理解此请求。不作修改,客户程序就无法重复此请求。 HTTP 错误 401 401.1 未授权:登录失败 此错误表明传输给服务器的证书与登录服务器所需的证书不匹配。 请与 Web 服务器的管理员联系,以确认您是否具有访问所请求资源的权限。 401.2 未授权:服务器的配置导致登录失败 此错误表明传输给服务器的证书
2015-12-29 09:14:53
3444
原创 ios开发之svn频繁使用的命令
1.查看本地更改文件 svn status wc [PATH](简单的也可以输入svn st查看)2.查看本地尚未更新SVN的文件列表 svn status --show-updates wc3.取消指定目录本地更改svn revert path -R4.查看指定目录的更改label svn log [PATH]5.查看指定目录的文件List的SVN更改时间和历史
2015-12-23 18:00:26
379
转载 iOS多线程GCD介绍和使用
Grand Central Dispatch (GCD)是Apple开发的一个多核编程的解决方法。dispatch queue分成以下三种:1)运行在主线程的Main queue,通过dispatch_get_main_queue获取。/*!* @function dispatch_get_main_queue** @abstract* Returns the
2015-12-21 15:39:35
301
原创 xcode插件安装及卸载
一、插件安装1.一般情况从网上下载你要安装的插件,发现是一个工程;2.打开这个工程,command+R运行;3.Xcode6之后,重启Xcode时会提示“Load bundle”、“skip Bundle”,必须选择“Load bundle”,不然插件无法使用;4.如果你在不知道什么意思的的情况下点击了“Skip Bundle”,你可以先将插件卸载,然后再重新安装;4.如果
2015-12-14 11:48:20
1894
转载 ios开发不能错过的xcode插件
古人云“工欲善其事必先利其器”,打造一个强大的开发环境,是立即提升自身战斗力的绝佳途径! 晾一下我的武器库,欢迎大家选用:) 全能搜索家CodePilot 2.0------------------------------------你要找的是文件?是文件夹?是代码?Never Mind,CMD+SHIFT+X调出CodePilot,输入任
2015-12-14 11:41:52
344
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人