UI
--风起云涌--
iOS和前端开发工程师
github: https://github.com/NieYinlong
CSDN: https://blog.csdn.net/NLYNN
Code4App: http://www.code4app.com/?955038
展开
-
ios讲解迷惑深入浅出之GCD
一. 创建串行对列(默认的和自定义的)#pragma mark ----- 创建串行队列 (鸡肋)- (void)serialQueue{ // ===== 串行队列分两种(第1种. 主线程中的串行队列(主串行队列) 第2种. 自定义的串行队列) /************* 第1种. 主线程中的串行队列(主串行队列) ****************原创 2015-09-22 22:51:03 · 351 阅读 · 0 评论 -
XCode9下的模拟器截屏(100%大小)
选中模拟器 window-->去掉Show Device Bezels的勾选 -->Zoom 然后cmd + s 保存原创 2018-03-07 10:15:15 · 4959 阅读 · 0 评论 -
iOS讲解迷惑深入浅出之基础动画-关键帧动画
/ Copyright (c) 2015年 nieyinlong. All rights reserved.//#import "RootViewController.h"@interface RootViewController ()// myView 赋值重名@property (nonatomic, retain) UIView *myView;@end@imple原创 2015-09-24 20:53:50 · 611 阅读 · 0 评论 -
iOS讲解迷惑深入浅出之GCD利用屏障模拟玩家进入游戏读取数据
利用队列进行游戏模拟需求:一共四个玩家一起进入游戏, 当所有人都进入游戏的时候开始读取数据思路: 1. 选取并行队列 2. 如何实现特殊要求,把并行队列用屏障隔开 屏障的作用:把队列分成上下部分开执行#pragma mark - 模拟游戏开始的线程操作(利用屏障 dispatch_barrier_async() )- (void原创 2015-09-22 23:01:50 · 438 阅读 · 0 评论 -
iOS讲解迷惑深入浅出之SAX解析和JSON 解析
//XML的SAX解析// NSXMLParser 分析XML文件- (void)setUpDataXMLParser{ // 3. 创建路径 NSString *path = [[NSBundlemainBundle] pathForResource:@"Student"ofType:@"xml"]; // 2原创 2015-09-15 14:49:00 · 1308 阅读 · 0 评论 -
iOS讲解迷惑--Swift的分支结构和循环
if else//******************* 分支语句 **********************// if语句的条件必须是bool值 或者bool表达式// bool值只能用true或者falselet isOrNo = trueif isOrNo { print("true")} else { print("false")}var c原创 2015-10-22 23:08:32 · 466 阅读 · 0 评论 -
iOS讲解迷惑--Swift中函数的使用
import UIKitvar str = "Hello, playground"// 函数// 语法格式/*func name (参数列表) -> 返回值 { 函数实现体}*/// 无参, 无返回值func hello1(){ print("hello1")// "hello1\n"}// 无参, 无返回值, 等价于上面func hello2()原创 2015-10-22 23:12:38 · 458 阅读 · 0 评论 -
iOS讲解迷惑之typedef枚举
1. tydedef 一个枚举 类型为integer 别名为NIEYINLONG2. 把别名声明成属性3. 使用原创 2015-10-07 11:15:27 · 709 阅读 · 1 评论 -
iOS讲解迷惑 -- CocoaPods使用步骤(已有Ruby环境):
CocoaPods使用步骤(已有Ruby环境):(注:$为提示作用,不要在终端中输入)1.打开终端,输入$ gem sources --remove https://rubygems.org/等有反应之后再敲入以下命令$ gem sources -a https://ruby.taobao.org/为了验证你的Ruby镜像是并且仅是taobao,可以用以下命原创 2015-11-07 20:36:48 · 539 阅读 · 0 评论 -
iOS讲解迷惑 -- XMPP--登录注册
概念: XMPP就是基于点对点的即时通讯协议需要配置java环境等一些列环境, 具体的配置请参考:1. 导入 libxml2 和 libresolv框架 和 XMPP第三方类库2. 路径 输入: /usr/include/libxml23. . 如果有错就在错误的类 导入UIKit框架4. 先在写登录注册 创建一个单例类 XMP原创 2015-10-20 22:23:19 · 729 阅读 · 1 评论 -
iOS讲解迷惑深入浅出之开启子线程请求网络
- (void)requestCityDataWithBlock:(void(^)(NSArray *array))block{ // 开启子线程 dispatch_async(dispatch_get_global_queue(0, 0), ^{ NSString *str = @"http://api.XXX.com原创 2015-10-04 12:17:10 · 1770 阅读 · 1 评论 -
iOS讲解迷惑深入浅出之block那点事
定义一个简单的block //------------------------------ // 最普通的block void (^block)(NSString *str) = ^void(NSString *str){ NSLog(@"%@", str); // 打印 "我回调" }; block(@"原创 2015-10-04 11:57:23 · 402 阅读 · 0 评论 -
iOS讲解迷惑深入浅出之单例类的两种写法
第一种 创建单例类:// 创建单例类+ (MusicListManager *)shareManager{ static MusicListManager *manager = nil; if (manager == nil) { manager = [[MusicListManager alloc] init]; } return mana原创 2015-09-29 19:38:14 · 650 阅读 · 0 评论 -
iOS讲解迷惑深入浅出之懒加载
懒加载——也称为延迟加载,即在需要的时候才加载(效率低,占用内存小)。所谓懒加载,写的是其get方法.懒加载数组#pragma mark----懒加载, 数组就不需要初始化了 -- - (NSMutableArray *)dataArray{ if (!_dataArray) { // 如果不存在dataArray, 就初始化 _dataArray = [N原创 2015-09-30 08:53:39 · 465 阅读 · 0 评论 -
iOS讲解迷惑深入浅出之复杂对象的归档
1 创建一个 JJModel类继承自NSObject// 1 创建一个 JJModel类继承自NSObject#import @interface JJModel : NSObject/** * 复杂对象进行持久化 需要遵守一个协议 */@property (nonatomic, retain) NSString *name;@property (nonato原创 2015-09-29 19:49:57 · 442 阅读 · 0 评论 -
iOS讲解迷惑深入浅出之通知
销毁通知1. 注册通知 (在AppDelegate.m注册, 就要在AppDelegate.m接收通知),别忘在dealloc中销毁通知, 一句话, 在那哪个类注册, 就在哪个类接收通知2. 在APPDelegate中接收通知 (以下方法实现的是注册通知里面的方法)3. 在其他类发送通知(注意name标识要和注册的时候一致,) 发送原创 2015-09-26 17:05:42 · 496 阅读 · 0 评论 -
cell高度自适应实现的最简单方式
转载自: https://blog.csdn.net/studying_ios/article/details/54094305曾经为了实现cell的高度自适应,不知道吃了多少苦。那个时候,是在我的数据模型model中添加一个height属性,实现它的get方法,在get方法中计算需要多行显示文字的高度,然后再加上其他乱七八糟的高度并返回,然后在tableview的 - (CGFloat)tabl...转载 2018-03-28 09:24:02 · 687 阅读 · 0 评论