- 博客(12)
- 资源 (1)
- 收藏
- 关注
原创 swift随笔
1、使用===和!===比较两个对象是否相等 2、可选值与三目运算配合使用减少代码量: var a: Int? let b: Int = 2 let c = a ?? b 当 a 不为空时,c=a, 当 a 为空时, c=b 等同于 let a:Int? = 2 let b:Int = 2 let c = (a != nil) ? a : b 3、String在被传递给方法或者被赋值给其他变...
2019-03-17 16:16:56 96
原创 cocoapods安装和简单使用
cocoapods 安装 1、升级gem : $ sudo gem update —system 2、替换ruby源头为淘宝源: $ gem sources - -remove https://rubygems.org/ $ gem sources -a https://ruby.taobao.org/ 注:查看gem源:$ge
2015-12-02 16:20:00 371
原创 swift 基础(二)闭包、对象和类、setter&getter
//闭包 //闭包的函数体部分由关键字 in 引入。 该关键字表示闭包的参数和返回值类型定义已经完成,闭包函数体即将开始 var numbers = [1,2,3,4] numbers.map({ number -> Int in let result = 3*number return result }) //如果一个闭包的类型已知(map的类型为 Int->Int)可
2015-11-30 10:39:36 574
原创 关于声明控件用weak和strong的问题&NSString用copy好还是strong
1、控件声明strong好还是weak? 相信很多人都被这个问题困惑过,我也不例外,所以做下总结,希望能帮到大家,有不对的欢迎拍砖! 以创建一个lable为例,在storyboard里用拖线的方式创建时,系统默认的使用weak修饰(同时用IBOutlet修饰)@property (weak, nonatomic) IBOutlet UILabel *label;用代码创建lable时,对于st
2015-11-22 11:23:24 1209
原创 封装一个自适应高度的 textview
这期做组内项目的时候需要用到一个可以自适应高度的textview,类似微信的输入框那样的。有时候又需要在textview里面添加一些提示性的placeholder,但是系统自带的textview不同于UITextFiled,没有placeholder属性的,这就需要我们自定义做一个placeholder,我的做法是在textview上面添加一个label,当开始编辑的时候将其隐藏,在一开始创建就未
2015-10-25 15:49:27 901
原创 让label中的不同字符显示不同的样式
开发中有时候会需要在一个label中让不同的字符串或者特定范围内的字符串和label中的其他内容显示不同的字体和颜色。使用label,attributeText能轻易实现。 上代码,创建一个NSMutableAttributeString 用来添加属性,使用NSRange的相关方法得到所需要改变的范围的字符串。 NSString *changeStr = @"this is a cha
2015-09-07 21:35:52 1297
原创 Foundation Kit (一)
iOS Foundation Kit中有用的数据类型: 一、NSRange NSRange是一个结构体: typedef struct _NSRange{ unsigned int location; unsigned int length; }NSRange 这里,location负责记录字符串的起始位置,下标从0开始计算;length为location位置开始从右算的字符长度
2015-08-12 22:01:05 385
转载 oc中alloc和new的区别
网上找到一些说法,这里先摘出来。 className* object = [className new]; or className* object = [[className alloc] init]; 背景说明,new是较为老式的写法,后来发现只有一个new不好使,才引入了alloc和init这种写法,保留new一是向后兼容,二是很多时候是一种更简单的写法。其实是一样的
2015-07-23 09:52:38 751
原创 单例模式的简单创建
使用的时GCD中的dispatch_once 方法和block结合使用 //Singleton.h @interface Singleton : NSObject + (Singleton *)sharedSingleton; //1、创建类方法 @end /***************************************************************
2015-07-21 15:34:25 304
原创 @property后面的修饰符总结
@property后面总的有如下修饰符: readWrite,readOnly,assign,copy,retain; readWrite:系统会自动帮我们生成getter和setter方法; readOnly: 系统只会帮我们生成getter方法; assign:表示直接赋值,适用于基本数据类型:NSInteger和CGFolat copy:使用于NSString,与NSString一
2015-07-21 12:11:46 326
原创 iOS实现图片轮播的简易步骤
scrollView 实现自动轮播 1、创建scrollView,添加imageView,创建pageControl 2、实现代理方法,在代理方法中做三件事 1)didScroll: CGFloat scrollW = scrollView.frame.size.width; CGFloat contentX = scrollView.contentOffSet.x; int pag
2015-07-19 10:56:54 533
iOS 12.1 device support file
2019-03-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人