<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[junfeng09的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/junfeng09</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; junfeng09]]></copyright><item><title><![CDATA[iOS--字典数组排序（每个数组里面都是一个model）NSSortDescriptor]]></title><link>https://blog.youkuaiyun.com/junfeng09/article/details/50525007</link><guid>https://blog.youkuaiyun.com/junfeng09/article/details/50525007</guid><author>junfeng09</author><pubDate>Fri, 15 Jan 2016 17:30:08 +0800</pubDate><description><![CDATA[self.mbProducts里里面放的是每个SKProduct对象，然后对SKProduct对象里面的price进行从低到高的价格排序。NSSortDescriptor就很好的解决了这个问题！很方便]]></description><category></category></item><item><title><![CDATA[iOS开发--Block容易造成循环引用]]></title><link>https://blog.youkuaiyun.com/junfeng09/article/details/50320741</link><guid>https://blog.youkuaiyun.com/junfeng09/article/details/50320741</guid><author>junfeng09</author><pubDate>Tue, 15 Dec 2015 21:17:46 +0800</pubDate><description><![CDATA[一 、Block的内存泄露体现block在copy时都会对block内部用到的对象进行强引用(ARC)或者retainCount增1(非ARC)。在ARC与非ARC环境下对block使用不当都会引起循环引用问题。 
一般表现为： 
1.某个类将block作为自己的属性变量，然后该类在block的方法体里面又使用了该类本身，简单说就是self.someBlock = ^(Type var){
[sel]]></description><category></category></item><item><title><![CDATA[iOS开发--将gif图片转成数组]]></title><link>https://blog.youkuaiyun.com/junfeng09/article/details/50220177</link><guid>https://blog.youkuaiyun.com/junfeng09/article/details/50220177</guid><author>junfeng09</author><pubDate>Tue, 08 Dec 2015 16:03:03 +0800</pubDate><description><![CDATA[self.gifImages=[NSMutableArray array];
NSString *path=[[NSBundle mainBundle]pathForResource:@"frontpage_refresh@2x" ofType:@"gif"];
self.gifImages=[self praseGIFDataToImageArray:[NSData dataWithContent]]></description><category></category></item><item><title><![CDATA[iOS开发--UICollectionView剖析（一）]]></title><link>https://blog.youkuaiyun.com/junfeng09/article/details/50187493</link><guid>https://blog.youkuaiyun.com/junfeng09/article/details/50187493</guid><author>junfeng09</author><pubDate>Sat, 05 Dec 2015 17:15:31 +0800</pubDate><description><![CDATA[初始化: 
//初始化布局类(UICollectionViewLayout的子类) 
UICollectionViewFlowLayout *fl = [[UICollectionViewFlowLayout alloc]init]; 
//初始化collectionView
  self.collectionView = [[UICollectionView 
  alloc]initWithFr]]></description><category></category></item><item><title><![CDATA[iOS开发--一些重要的总结]]></title><link>https://blog.youkuaiyun.com/junfeng09/article/details/50128973</link><guid>https://blog.youkuaiyun.com/junfeng09/article/details/50128973</guid><author>junfeng09</author><pubDate>Tue, 01 Dec 2015 14:23:30 +0800</pubDate><description><![CDATA[1. UICollectionViewUICollectionView如果在数据不够一屏时上下滚动 当数据不多，collectionView.contentSize小于collectionView.frame.size的时候，UICollectionView是不会滚动的，可以增加下面代码就可以： self.myCollectionView.alwaysBounceVertical = YES;2.d]]></description><category></category></item><item><title><![CDATA[iOS开发--如何跳到系统设置里的WiFi界面]]></title><link>https://blog.youkuaiyun.com/junfeng09/article/details/50127573</link><guid>https://blog.youkuaiyun.com/junfeng09/article/details/50127573</guid><author>junfeng09</author><pubDate>Tue, 01 Dec 2015 11:52:21 +0800</pubDate><description><![CDATA[在没有网的状态下，有些需求可能想提醒用户去设置界面连接WiFi。如果不能跳到WiFi界面，只能在APP里面做出文字提示。这样很多小白用户可能不会看提示，只会觉得APP没有做好。 
话不多说直接上代码：//info里面设置
//在项目中的info.plist中添加 URL types 并设置一项URL Schemes为prefs，如下图： 
跳转事件的方法：NSURL *url = [NSURL UR]]></description><category></category></item><item><title><![CDATA[iOS开发--UIApplication（IconBadgeNum）]]></title><link>https://blog.youkuaiyun.com/junfeng09/article/details/50068525</link><guid>https://blog.youkuaiyun.com/junfeng09/article/details/50068525</guid><author>junfeng09</author><pubDate>Fri, 27 Nov 2015 12:05:14 +0800</pubDate><description><![CDATA[在iOS7以及以前设置应用图标右上角数字都不需要注册的、iOS8之后都需要注册一下、一般在程序启动之后去注册；代码如下:- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    // Override point for cust]]></description><category></category></item><item><title><![CDATA[iOS开发--微信首页下拉拍摄的眼睛效果（直接拿走）]]></title><link>https://blog.youkuaiyun.com/junfeng09/article/details/50016201</link><guid>https://blog.youkuaiyun.com/junfeng09/article/details/50016201</guid><author>junfeng09</author><pubDate>Tue, 24 Nov 2015 17:36:25 +0800</pubDate><description><![CDATA[话不多说直接上图 
 
是不是很爽？ 
直接上代码：#import <UIKit/UIKit.h>@interface ViewController : UIViewController@property (nonatomic, strong) UITableView *tableView;@property (strong, nonatomic) CAShapeLayer *eyeFirstLig]]></description><category></category></item><item><title><![CDATA[iOS开发--毛玻璃效果（UIImage+Blur）直接拿去]]></title><link>https://blog.youkuaiyun.com/junfeng09/article/details/50012685</link><guid>https://blog.youkuaiyun.com/junfeng09/article/details/50012685</guid><author>junfeng09</author><pubDate>Tue, 24 Nov 2015 14:43:44 +0800</pubDate><description><![CDATA[代码：#import <UIKit/UIKit.h>
#import <Accelerate/Accelerate.h>
@interface UIImage (Blur)
-(UIImage *)imageWithBlur:(CGFloat)blur;
@end#import "UIImage+Blur.h"@implementation UIImage (Blur)#pragma mark --]]></description><category></category></item><item><title><![CDATA[iOS开发--启动图片launch Image Source 和 launchScreen.xib]]></title><link>https://blog.youkuaiyun.com/junfeng09/article/details/50012305</link><guid>https://blog.youkuaiyun.com/junfeng09/article/details/50012305</guid><author>junfeng09</author><pubDate>Tue, 24 Nov 2015 14:24:52 +0800</pubDate><description><![CDATA[1.Launch Images Source  
 
—> 
 
—> 
 
—> 
2.就是launchScreen.xib]]></description><category></category></item><item><title><![CDATA[iOS开发--UITableViewCell侧滑多个按钮（系统仅支持iOS8以上）]]></title><link>https://blog.youkuaiyun.com/junfeng09/article/details/50000509</link><guid>https://blog.youkuaiyun.com/junfeng09/article/details/50000509</guid><author>junfeng09</author><pubDate>Mon, 23 Nov 2015 20:30:38 +0800</pubDate><description><![CDATA[/**
 *  block里面是点击方法 , 这个委托是ios8之后的才有，如果项目只适配ios8以上就可以不用自己写按钮了。返回值是 UITableViewRowAction 的数组
 */
-(NSArray<UITableViewRowAction*>*)tableView:(UITableView *)tableView editActionsForRowAtIndexPath:(NSInd]]></description><category></category></item><item><title><![CDATA[iOS--输入银行卡号的时候，对数字格式化，每四个数后面加个“-”]]></title><link>https://blog.youkuaiyun.com/junfeng09/article/details/49964185</link><guid>https://blog.youkuaiyun.com/junfeng09/article/details/49964185</guid><author>junfeng09</author><pubDate>Sat, 21 Nov 2015 14:17:41 +0800</pubDate><description><![CDATA[/*
 * 输入银行卡号，没四个数字后面加上“-”
 */
- (NSString *)bankCardFormat:(NSString *)string
{
    NSString *result = nil;
    NSString *space = @"-";
    NSMutableString *mutableString = [[NSMutableString alloc] ini]]></description><category></category></item><item><title><![CDATA[iOS:解决Xcode升级后插件失效问题]]></title><link>https://blog.youkuaiyun.com/junfeng09/article/details/49765073</link><guid>https://blog.youkuaiyun.com/junfeng09/article/details/49765073</guid><author>junfeng09</author><pubDate>Tue, 10 Nov 2015 20:47:58 +0800</pubDate><description><![CDATA[Xcode更新后插件失效的原因： 
1、每次更新Xcode后插件都会失效，其实插件都还在这个目录好好的躺着呢：  
~/Library/Application Support/Developer/Shared/Xcode/Plug-ins  
2、之所以插件失效，是因为每个插件只供特定UUID的Xcode使用，更新后uuid改变，于是便不能正常使用。解决办法： 
1.先读取Xcode的UUID：打开]]></description><category></category></item><item><title><![CDATA[改变UITextField placeHolder颜色、字体]]></title><link>https://blog.youkuaiyun.com/junfeng09/article/details/48716717</link><guid>https://blog.youkuaiyun.com/junfeng09/article/details/48716717</guid><author>junfeng09</author><pubDate>Thu, 24 Sep 2015 19:56:22 +0800</pubDate><description><![CDATA[我们有时需要定制化UITextField对象的风格，可以添加许多不同的重写方法，来改变文本字段的显示行为。这些方法都会返回一个CGRect结构，制定了文本字段每个部件的边界范围，甚至修改placeHolder颜色，字体。– textRectForBounds:　　    //重写来重置文字区域 
– drawTextInRect:　　       //改变绘文字属性.重写时调用super可以按默认图]]></description><category></category></item><item><title><![CDATA[iOS--判断字符串NSString中数字、中文、大小写英文]]></title><link>https://blog.youkuaiyun.com/junfeng09/article/details/48518137</link><guid>https://blog.youkuaiyun.com/junfeng09/article/details/48518137</guid><author>junfeng09</author><pubDate>Thu, 17 Sep 2015 10:14:59 +0800</pubDate><description><![CDATA[NSString *testString = @"中文123ljfLJF";
    NSInteger alength = [testString length];    for (int i = 0; i<alength; i++) {
        char commitChar = [testString characterAtIndex:i];
        NSString *tem]]></description><category></category></item><item><title><![CDATA[MJRefresh]]></title><link>https://blog.youkuaiyun.com/junfeng09/article/details/48494817</link><guid>https://blog.youkuaiyun.com/junfeng09/article/details/48494817</guid><author>junfeng09</author><pubDate>Wed, 16 Sep 2015 15:27:51 +0800</pubDate><description><![CDATA[介绍：A easy way to use pull-to-refresh、用法简单的下拉刷新框架：一行代码搞定 
支持控件刷新：UIScrollView、UITableView、UICollectionView、UIWebView 
如何使用：手动导入：①将MJRefresh文件夹中的所有文件拽入项目中 ，②导入主头文件：#import “MJRefresh.h”//包含：
Base]]></description><category></category></item><item><title><![CDATA[iOS-细节小结]]></title><link>https://blog.youkuaiyun.com/junfeng09/article/details/48492069</link><guid>https://blog.youkuaiyun.com/junfeng09/article/details/48492069</guid><author>junfeng09</author><pubDate>Wed, 16 Sep 2015 12:03:35 +0800</pubDate><description><![CDATA[一. contentSize、contentInset和contentOffset不要混淆 
contentSize、contentInset和contentOffset 是 scrollView三个基本的属性。<1.>contentSize:  
The size of the content view. 其实就是scrollview可以滚动的区域， 
比如frame = (0 ,0 ,320 ,]]></description><category></category></item><item><title><![CDATA[iOS--sqlite数据库(举例)]]></title><link>https://blog.youkuaiyun.com/junfeng09/article/details/48477263</link><guid>https://blog.youkuaiyun.com/junfeng09/article/details/48477263</guid><author>junfeng09</author><pubDate>Tue, 15 Sep 2015 22:45:04 +0800</pubDate><description><![CDATA[写一个学生类 .h文件中定义四个属性原代码:@property(nonatomic ,copy)NSString *name;
@property(nonatomic ,copy)NSString *sex;
@property(nonatomic ,copy)NSString *hobby;
@property(nonatomic ,assign)NSInteger age;创建一个数据库工具:继]]></description><category></category></item><item><title><![CDATA[iOS--常用的宏]]></title><link>https://blog.youkuaiyun.com/junfeng09/article/details/48471177</link><guid>https://blog.youkuaiyun.com/junfeng09/article/details/48471177</guid><author>junfeng09</author><pubDate>Tue, 15 Sep 2015 18:00:15 +0800</pubDate><description><![CDATA[/******** 尺寸 *******/
#define StatusBar_HEIGHT 20#define NavigationBar_HEIGHT 44#define NavigationBarIcon 20#define TabBar_HEIGHT 49#define TabBarIcon 30#define SCREEN_WIDTH ([UIScreen mainScreen].boun]]></description><category></category></item><item><title><![CDATA[限制UITextView中的字数]]></title><link>https://blog.youkuaiyun.com/junfeng09/article/details/48448115</link><guid>https://blog.youkuaiyun.com/junfeng09/article/details/48448115</guid><author>junfeng09</author><pubDate>Mon, 14 Sep 2015 22:16:08 +0800</pubDate><description><![CDATA[- (void)textViewDidChange:(UITextView *)textView {
    NSInteger number = [textView.text length];
    if (number > 128) {
        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"提示" message:@]]></description><category></category></item></channel></rss>