- 博客(31)
- 收藏
- 关注
原创 【Swift】反射(Reflection)的介绍
1,反射(Reflection) 对于C#、Java开发人员来说,肯定都对反射这个概念相当熟悉。所谓反射就是可以动态获取类型、成员信息,同时在运行时(而非编译时)可以动态调用任意方法、属性等行为的特性。 以Java上的两个知名框架(hibernate和spring)为例。hibernate的属性映射就是通过反射来赋值的,spring的bean的创建就是根据配置的class来反射构建的。2,Obj
2016-05-17 18:47:53 1518
原创 【Objc】UIWebView去除选中
[webView stringByEvaluatingJavaScriptFromString: @"document.documentElement.style.webkitUserSelect='none';"];
2016-05-16 15:10:28 318
原创 【Swift】属性
var G_USERDEFAULTS = NSUserDefaults.standardUserDefaults()var GLOBAL_ICON_URL : String{ get{ if(G_USERDEFAULTS.objectForKey("GLOBAL_ICON_URL") != nil){ return G_USERDEFAULTS.objectFo
2016-05-16 14:24:45 248
原创 属性字符串--在label上设置图片和文字
在label上显示图片利用属性字符串、而不是imageViewlet leftTwo = UILabel(frame: CGRectMake(40, 20, 65, 28)) let textAttachment = NSTextAttachment() textAttachment.image = UIImage(named: "imageName")
2016-05-16 14:08:25 1666
原创 UITextField 的Placeholder的字体的颜色大小
设置UITextField的placeholder的颜色代码片段:UITextField *textField = [[UITextField alloc] initWithFrame:CGRectMake(0, 0, 200, 200)];NSString *holderText = @"标哥的技术博客";NSMutableAttributedString *placeholder = [[N
2016-05-16 13:57:19 306
原创 UITableView Section标题不滑动问题
有时候使用UITableView所实现的列表,会使用到section,但是又不希望它粘在最顶上而是跟随滚动而消失或者出现,下面的代码片段就是实现此功能- (void)scrollViewDidScroll:(UIScrollView *)scrollView { if (scrollView == _tableView) { CGFloat sectionHeader
2016-05-16 13:52:24 531
原创 【Swift-Objc】选择排序
算法思想 选择排序的思想其实和冒泡排序有点类似,都是在一次排序后把最小的元素放到最前面。但是过程不同,冒泡排序是通过相邻的比较和交换。而选择排序是通过对整体的选择。算法思想:每一趟从前往后查找出值最小的索引(下标),最后通过比较是否需要交换。每一趟都将最小的元素交换到最前面。Objc版- (void)selectSort:(int [])arr len:(int)len { int min =
2016-05-16 11:49:37 392
原创 【Swift-ObjC】冒泡排序
冒泡排序核心思想算法最讲究的就是算法的思想,只要将算法思想想明白了,就可以通过伪代码来写出算法,那么再使用对应的语言来实现就可以了。冒泡排序的核心思想就是通过与相邻元素的比较和交换,把小的数交换到最前面。因为这个过程类似于水泡向上升一样,因此被命名为冒泡排序。时间复杂度 从算法思想可知,冒泡排序需要两个循环来控制遍历,也就是需要n * n趟才能判断、交换完成。冒泡排序的时间复杂度为O ( n2 )
2016-05-16 11:38:46 776
原创 【Swift】上传图片-NSURLSession
let request:NSMutableURLRequest = NSMutableURLRequest(); request.URL = NSURL(string: "https://api.weibo.com/2/statuses/upload.json"); request.HTTPMethod = "POST"; request.timeou
2016-05-16 10:50:53 714
原创 NSURLSession 下载文件 --Swift
var session:NSURLSession?var Downloadtask:NSURLSessionDownloadTask?let url = NSURL(string: "http://yinyueshiting.baidu.com/data2/music/134378339/13611644158400128.mp3?xcode=6f254cc3b54ee63ce4d6351b3c1
2016-05-14 15:55:28 838
原创 判断支付宝是否安装
+(BOOL)ALIisLogin{ if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"alipay://"]]) { return YES; } else {// NSLog(@"未安装"); return NO; }
2016-05-13 15:41:17 3774
原创 UIWebView监听URL
NSString *url = [[request URL] absoluteString]; NSString *transString = [NSString stringWithString:[url stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]; NSLog(@"++++---+++%@",transS
2016-05-13 10:46:13 582
原创 http编码
//http编码- (NSString *)encodeToPercentEscapeString: (NSString *) input{ NSString *outputStr = (__bridge NSString *)CFURLCreateStringByAddingPercentEscapes(
2016-05-13 10:38:50 475
原创 UIWebView 监听url
//UIWebViewdelegate- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType{ NSString *url = [[request URL] abs
2016-05-12 11:31:03 1262
原创 UITextField 控制文本输入小数点和小数点后几位
-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{ if ([_textField.text rangeOfString:@"."].location==NSNotFound) {
2016-05-11 14:48:19 526
原创 延展--用UIView+ViewController
- (UIViewController *)viewController{ // 拿到下一个响应者 UIResponder *nextRes = self.nextResponder; do { if ([nextRes isKindOfClass:[UIViewController class]]) { // 如果响应者是 view
2016-05-10 11:27:08 320
原创 Swift --下一响应者
通过下一响应者得到UITextField、UITextFieldvar nextRes = self.nextResponder()! as UIResponder repeat{// if ((nextRes.isKindOfClass(UITextView))){ le
2016-05-10 11:24:27 591
原创 更改UITableView左边编辑图片
在UITableViewCell中实现 //修改编辑的图片 override func layoutSubviews() { super.layoutSubviews() for control in self.subviews{ if control.isMemberOfClass(NSClassFro
2016-05-10 11:08:52 384
原创 文件的解压缩
pod ‘SSZipArchive’, ‘~> 1.1’//第一个参数是:被解压文件的路径//第二个参数是:解压到的目录SSZipArchive.unzipFileAtPath(filePath, toDestination: path)
2016-05-09 14:24:23 291
原创 图片压缩
Swift: /** 压缩图片的方法, :param: originalImage 原图 :param: size 指定图片最后的大小 :returns: 压缩后图片 */ class func imageCut(originalImage:UIImage,size:CGSize)->UIImage{ UIGraphics
2016-05-06 17:11:07 277
原创 文件下载
#import "ViewController.h"@interface ViewController ()<NSURLConnectionDataDelegate,NSURLConnectionDelegate>{ double totalLength;//总时长 double receviewTotal;//下载的长度 NSString *filePath;//文件路径
2016-05-06 16:25:20 1236
原创 获得Document路径
OC: NSString *doc=[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject]; NSString *fileName=[doc stringByAppendingPathComponent:@”ShopCart.sqlite”];Swift: le
2016-05-05 15:26:39 416
原创 Runtime – 获取成员变量、值、动态创建类
import import “CustomClass.h”@implementation NSObject (RuntimeTest)-(id)testRunTime:(NSString )classname age:(NSString )age{unsigned int propertyCount = 0;objc_property_t *propertys = class_copyPropert
2016-05-04 17:48:00 766
原创 Runtime — Method Swizzling(修改系统方法的实现)
Method Swizzling是改变一个selector的实际实现的技术。通过这一技术,我们可以在运行时通过修改类的分发表中selector对应的函数,来修改方法的实现。例如,我们想给UIButton 的点击事件加上一个延时调用并且有好多地方用到延时,如果自己写个延时你都会在每个button 中调用那样我就是有重复的代码这种情况下,我们就可以使用Method Swizzling(void)loa
2016-05-04 17:00:47 863
原创 Runtime 动态添加属性
例如:某个类延展可以扩展方法,但是拓展不了属性,如果非要拓展属性只能用Runtime中的category使用 objc_setAssociatedObject/objc_getAssociatedObject 实现添加属性属性 其实就是get/set 方法。我们可以使用 objc_setAssociatedObject/objc_getAssociatedObject 实现 动态向类中添加 方法
2016-05-04 15:30:30 399
原创 Swift 可选代理实现 怎么写?
@objc protocol MainCommentBtndelegate : NSObjectProtocol{ /** 点击btn 通过代理传值 - parameter index: btn的位置 - parameter commentText: 评论的内容 - parameter isShoucang: 收藏 0:代表未收
2016-05-03 16:37:37 1191
原创 Swift 根据文字字体的大小得到size
let textSize = NSString(string: textView.text).sizeWithAttributes([NSFontAttributeName : textView.font!])
2016-05-03 16:35:13 1091 2
原创 Swift 自动布局
pod ‘SnapKit’, ‘~> 0.19.1’self.addSubview(textField) textField.snp_makeConstraints { (make) -> Void in make.left.equalTo(10) make.right.equalTo(lastBtn.snp_left).offset(-10)
2016-05-03 16:32:10 513
原创 Swift 单例
class SingleTon {class var sharedInstance:SingleTon{ struct Static { static let instance:SingleTon = SingleTon() } return Static.instance}}
2016-05-03 16:28:08 414
原创 iOS 导航栏设置颜色的两种方法
第一种方法:用颜色设置 self.navigationController?.navigationBar.barTintColor = UIColor.redColor() 设置透明还是非透明:self.navigationController?.navigationBar.translucent = false第二种方法: 用图片设置 [[UINavigationBar appearanc
2016-05-03 15:18:19 1986
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人