<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[jpcfei的专栏]]></title><description><![CDATA[]]></description><link>https://blog.csdn.net/jpcfei</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; jpcfei]]></copyright><item><title><![CDATA[如何用原生的方式来定义Swift JSON Model]]></title><link>https://blog.csdn.net/jpcfei/article/details/138496083</link><guid>https://blog.csdn.net/jpcfei/article/details/138496083</guid><author>jpcfei</author><pubDate>Mon, 06 May 2024 15:14:06 +0800</pubDate><description><![CDATA[话不多说，上代码case start = 1//活动开始case processing = 2//活动进行中case end = 3//活动结束var status: Status//活动状态这儿有一个活动，活动现目前有三种状态，到目前为止，一切都很美好。有一天，突然说需要给活动添加已下架的状态，what？//JSON"name": "元旦迎新活动",用Activity解析上面的JSON就会报错，我们如何规避呢，像下面一样///Step 1：让Status遵循DefaultValue协议。]]></description><category></category></item><item><title><![CDATA[ios 笔记整理: MVC机制原理]]></title><link>https://blog.csdn.net/jpcfei/article/details/9836717</link><guid>https://blog.csdn.net/jpcfei/article/details/9836717</guid><author>jpcfei</author><pubDate>Thu, 08 Aug 2013 15:12:45 +0800</pubDate><description><![CDATA[Model，Controller，View相互通讯的规则：

Controller可以直接和Model通信Controller也可以直接和View通信Model和View永远不能直接通信iOS中View和Controller的通信是透明和固定的，主要通过outlet和action实现View使用Delegate接口和Controller同步信息View不直接和数据通信，使用dataSource]]></description><category></category></item><item><title><![CDATA[C++和Objective-C混编（官方文档翻译）]]></title><link>https://blog.csdn.net/jpcfei/article/details/9269603</link><guid>https://blog.csdn.net/jpcfei/article/details/9269603</guid><author>jpcfei</author><pubDate>Mon, 08 Jul 2013 11:02:46 +0800</pubDate><description><![CDATA[Using C++ With Objective-C    苹果的Objective-C编译器允许用户在同一个源文件里自由地混合使用C++和Objective-C，混编后的语言叫Objective-C++。有了它，你就可以在Objective-C应用程序中使用已有的C++类库。

Objective-C和C++混编的要点
   在Objective-C++中，可以用C++代码调用方法也可以从]]></description><category></category></item><item><title><![CDATA[Core Animation学习之anchorPoint]]></title><link>https://blog.csdn.net/jpcfei/article/details/9136105</link><guid>https://blog.csdn.net/jpcfei/article/details/9136105</guid><author>jpcfei</author><pubDate>Thu, 20 Jun 2013 12:46:22 +0800</pubDate><description><![CDATA[Core Animation学习之anchorPoint

anchorPoint（锚点）简单来说是用来确定“动画效果“的。先看下面这章图：


中间黑色的点就是anchorPoint了，它的取值在0-1，取到1就表示离原点最远。注意这个图是MacOS的图，ios的坐标系原点在左上角。
如果我要使得图形绕着左下角转呢？



anchorPoint的效果应该很清楚了，旋转和缩放]]></description><category></category></item><item><title><![CDATA[如何计算地图上两点之间的距离]]></title><link>https://blog.csdn.net/jpcfei/article/details/9128973</link><guid>https://blog.csdn.net/jpcfei/article/details/9128973</guid><author>jpcfei</author><pubDate>Wed, 19 Jun 2013 15:01:36 +0800</pubDate><description><![CDATA[路线规划提供了获取路线距离的方法，见MKRoutePlan 类的 getDistance 方法。

如果是计算任意两点的距离，自2.0.0版本开始，Android SDK为开发者提供了计算距离的接口（DistanceUtil），具体使用方法如下：

1.GeoPoint p1LL = new GeoPoint(39971802, 116347927);

2.GeoPoint p2LL]]></description><category></category></item><item><title><![CDATA[UITabBarController和UITabBarControllerDelegate]]></title><link>https://blog.csdn.net/jpcfei/article/details/9030427</link><guid>https://blog.csdn.net/jpcfei/article/details/9030427</guid><author>jpcfei</author><pubDate>Wed, 05 Jun 2013 14:33:00 +0800</pubDate><description><![CDATA[NS_CLASS_AVAILABLE_IOS(2_0) @interface UITabBarController : UIViewController  

@property(nonatomic,copy) NSArray *viewControllers;

// If the number of view controllers is greater than the number dis]]></description><category></category></item><item><title><![CDATA[MKMapView和MKMapViewDelegate]]></title><link>https://blog.csdn.net/jpcfei/article/details/9021803</link><guid>https://blog.csdn.net/jpcfei/article/details/9021803</guid><author>jpcfei</author><pubDate>Tue, 04 Jun 2013 15:33:29 +0800</pubDate><description><![CDATA[@interface MKMapView : UIView 

@property (nonatomic, assign) id  delegate;

// Changing the map type or region can cause the map to start loading map content.
// The loading delegate methods will be]]></description><category></category></item><item><title><![CDATA[UIAlertViewDelegate]]></title><link>https://blog.csdn.net/jpcfei/article/details/9020805</link><guid>https://blog.csdn.net/jpcfei/article/details/9020805</guid><author>jpcfei</author><pubDate>Tue, 04 Jun 2013 11:47:07 +0800</pubDate><description><![CDATA[@protocol UIAlertViewDelegate 
@optional

// Called when a button is clicked. The view will be automatically dismissed after this call returns
- (void)alertView:(UIAlertView *)alertView clickedButtonA]]></description><category></category></item><item><title><![CDATA[UINavigationController和UINavigationControllerDelegate]]></title><link>https://blog.csdn.net/jpcfei/article/details/9019311</link><guid>https://blog.csdn.net/jpcfei/article/details/9019311</guid><author>jpcfei</author><pubDate>Tue, 04 Jun 2013 10:55:57 +0800</pubDate><description><![CDATA[1. UINavigationControllerDelegate协议

a. 设置代理类 nav.delegate = self;
b. 实现协议

@protocol UINavigationControllerDelegate 

@optional

// Called when the navigation controller shows a new top view con]]></description><category></category></item><item><title><![CDATA[UIViewController]]></title><link>https://blog.csdn.net/jpcfei/article/details/9000938</link><guid>https://blog.csdn.net/jpcfei/article/details/9000938</guid><author>jpcfei</author><pubDate>Fri, 31 May 2013 16:52:48 +0800</pubDate><description><![CDATA[NS_CLASS_AVAILABLE_IOS(2_0) @interface UIViewController : UIResponder 
/*
  The designated initializer. If you subclass UIViewController, you must call the super implementation of this
  method, even]]></description><category></category></item><item><title><![CDATA[UIApplication]]></title><link>https://blog.csdn.net/jpcfei/article/details/9000273</link><guid>https://blog.csdn.net/jpcfei/article/details/9000273</guid><author>jpcfei</author><pubDate>Fri, 31 May 2013 15:27:36 +0800</pubDate><description><![CDATA[NS_CLASS_AVAILABLE_IOS(2_0) @interface UIApplication : UIResponder 
{

//获取UIApplication单例对象
+ (UIApplication *)sharedApplication;

//应用程序委托对象
@property(nonatomic,assign) id delegate;

- (void)beginIg]]></description><category></category></item><item><title><![CDATA[IOS 整体框架类图值得收藏]]></title><link>https://blog.csdn.net/jpcfei/article/details/9000115</link><guid>https://blog.csdn.net/jpcfei/article/details/9000115</guid><author>jpcfei</author><pubDate>Fri, 31 May 2013 13:39:10 +0800</pubDate><description><![CDATA[Cocoa框架是iOS应用程序的基础，了解Cocoa框架，对开发iOS应用有很大的帮助。
1、Cocoa是什么？

Cocoa是OS X和 iOS操作系统的程序的运行环境。

是什么因素使一个程序成为Cocoa程序呢？不是编程语言，因为在Cocoa开发中你可以使用各种语言；也不是开发工具，你可以在命令行上就可以创建Cocoa程序。Cocoa程序可以这么说，它是由一些对象组成，而这些对象的]]></description><category></category></item><item><title><![CDATA[UIDeviceOrientation和UIInterfaceOrientation屏幕旋转的用法]]></title><link>https://blog.csdn.net/jpcfei/article/details/8995531</link><guid>https://blog.csdn.net/jpcfei/article/details/8995531</guid><author>jpcfei</author><pubDate>Thu, 30 May 2013 16:55:22 +0800</pubDate><description><![CDATA[1. UIDeviceOrientation是设备的方向，只能读，不能修改

typedef NS_ENUM(NSInteger, UIDeviceOrientation) {
    UIDeviceOrientationUnknown,
    UIDeviceOrientationPortrait,            // Device oriented vertically, ho]]></description><category></category></item><item><title><![CDATA[用 Xmanager 登录过 linux suse 11.2]]></title><link>https://blog.csdn.net/jpcfei/article/details/7410983</link><guid>https://blog.csdn.net/jpcfei/article/details/7410983</guid><author>jpcfei</author><pubDate>Fri, 30 Mar 2012 13:23:01 +0800</pubDate><description><![CDATA[1、编辑 /etc/gdm/custom.conf 在相应的地方做如下改动： 
[xdmcp] 
# SuSEconfig: displaymanager:
DISPLAYMANAGER_REMOTE_ACCESS 
Port=177
 Enable=true 
[chooser] 
[security]
 # SuSEconfig: displaymanager:
DISPLA]]></description><category></category></item><item><title><![CDATA[__asm__ __volatile__ GCC的内嵌汇编语法 AT&T汇编语言语法]]></title><link>https://blog.csdn.net/jpcfei/article/details/6692479</link><guid>https://blog.csdn.net/jpcfei/article/details/6692479</guid><author>jpcfei</author><pubDate>Tue, 16 Aug 2011 17:48:42 +0800</pubDate><description><![CDATA[这篇帖子由于没署作者名，所以我转的时候也没怎么署，但还是谢谢了。
AT&T ASM Syntax
1 Overview 
开发一个OS，尽管绝大部分代码只需要用C/C++等高级语言就可以了，但至少和硬件相关部分的代码需要使用汇编语言，另外，由于启动部分的代码有大小限制，使用]]></description><category></category></item><item><title><![CDATA[字符串哈希算法比较（转载）]]></title><link>https://blog.csdn.net/jpcfei/article/details/6643360</link><guid>https://blog.csdn.net/jpcfei/article/details/6643360</guid><author>jpcfei</author><pubDate>Fri, 29 Jul 2011 10:58:42 +0800</pubDate><description><![CDATA[常用的字符串Hash函数还有ELFHash，APHash等等，都是十分简单有效的方法。这些函数使用位运算使得每一个字符都对最后的函数值产生影响。另外还有以MD5和SHA1为代表的杂凑函数，这些函数几乎不可能找到碰撞。常用字符串哈希函数有BKDRHash，APHash，DJBHas]]></description><category></category></item><item><title><![CDATA[读写文件速度测试]]></title><link>https://blog.csdn.net/jpcfei/article/details/6625157</link><guid>https://blog.csdn.net/jpcfei/article/details/6625157</guid><author>jpcfei</author><pubDate>Fri, 22 Jul 2011 10:59:00 +0800</pubDate><description><![CDATA[一. 文件一次读入速度linux下读文件这东西最后都是要通过系统调用sys_read(fd,buf,count)来实现的，所以如果要提高速度，就是最简单地调用sys_read的封装，比如直接用read()或fread()。下面是我在linux下的几个测试。首先创建一个130M数据]]></description><category></category></item><item><title><![CDATA[共享内存]]></title><link>https://blog.csdn.net/jpcfei/article/details/6545965</link><guid>https://blog.csdn.net/jpcfei/article/details/6545965</guid><author>jpcfei</author><pubDate>Wed, 15 Jun 2011 13:29:00 +0800</pubDate><description><![CDATA[shmdt- detaches shared memory segment   .shmdt detaches from the calling processs data segment the shared memorysegment located at the address specified by shmaddr.shmdt(addr)使进程中的shmid无效化，不可以使用。但是保留]]></description><category></category></item><item><title><![CDATA[Linux环境变量设置 ]]></title><link>https://blog.csdn.net/jpcfei/article/details/6454399</link><guid>https://blog.csdn.net/jpcfei/article/details/6454399</guid><author>jpcfei</author><pubDate>Mon, 30 May 2011 12:16:00 +0800</pubDate><description><![CDATA[<br />1、引言<br /> <br />    在linux系统下，如果你下载并安装了应用程序，很有可能在键入它的名称时出现“command not found”的提示内容。如果每次都到安装目标文件夹内，找到可执行文件来进行操作就太繁琐了。这涉及到环境变量PATH的设置问题，而PATH的设置也是在linux下定制环境变量的一个组成部分。本文基于RedHat 9.0，详细讲解了环境变量定制的问题。<br />2、变量简介<br />Linux是一个多用户的操作系统。每个用户登录系统后，都会有一个专用的运]]></description><category></category></item><item><title><![CDATA[Linux环境变量设置 ]]></title><link>https://blog.csdn.net/jpcfei/article/details/6454398</link><guid>https://blog.csdn.net/jpcfei/article/details/6454398</guid><author>jpcfei</author><pubDate>Mon, 30 May 2011 12:15:00 +0800</pubDate><description><![CDATA[<br />1、引言<br /> <br />    在linux系统下，如果你下载并安装了应用程序，很有可能在键入它的名称时出现“command not found”的提示内容。如果每次都到安装目标文件夹内，找到可执行文件来进行操作就太繁琐了。这涉及到环境变量PATH的设置问题，而PATH的设置也是在linux下定制环境变量的一个组成部分。本文基于RedHat 9.0，详细讲解了环境变量定制的问题。<br />2、变量简介<br />Linux是一个多用户的操作系统。每个用户登录系统后，都会有一个专用的运]]></description><category></category></item></channel></rss>