<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[ddxp9097的博客]]></title><description><![CDATA[]]></description><link>https://blog.csdn.net/ddxp9097</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; ddxp9097]]></copyright><item><title><![CDATA[iOS 消息推送原理及实现总结]]></title><link>https://blog.csdn.net/ddxp9097/article/details/101537720</link><guid>https://blog.csdn.net/ddxp9097/article/details/101537720</guid><author>ddxp9097</author><pubDate>Thu, 07 Aug 2014 10:50:00 +0800</pubDate><description><![CDATA[在实现消息推送之前先提及几个于推送相关概念，如下图：
1、 Provider：就是为指定IOS设备应用程序提供Push的服务器，（如果IOS设备的应用程序是客户端的话，那么Provider可以理解为服务端[消息的发起者]）；2、 APNS：Apple Push Notification Service[苹果消息推送服务器]；3、 iPhone：用来接收APNS下发下来的消息；4、 Cl...]]></description><category></category></item><item><title><![CDATA[IOS学习笔记之关键词@dynamic]]></title><link>https://blog.csdn.net/ddxp9097/article/details/101537718</link><guid>https://blog.csdn.net/ddxp9097/article/details/101537718</guid><author>ddxp9097</author><pubDate>Fri, 25 Jul 2014 15:41:00 +0800</pubDate><description><![CDATA[@dynamic这个关键词，通常是用不到的。
它与@synthesize的区别在于：
使用@synthesize编译器会确实的产生getter和setter方法，而@dynamic仅仅是告诉编译器这两个方法在运行期会有的，无需产生警告。
假设有这么个场景，B类，C类分别继承A类，A类实现某个协议（@protocol），协议中某个属性( somePropety)我不想在A中实...]]></description><category></category></item><item><title><![CDATA[AVCaptureDevice的几个属性]]></title><link>https://blog.csdn.net/ddxp9097/article/details/101537722</link><guid>https://blog.csdn.net/ddxp9097/article/details/101537722</guid><author>ddxp9097</author><pubDate>Fri, 25 Jul 2014 15:27:00 +0800</pubDate><description><![CDATA[AVCaptureDevice.h，主要用来获取iphone一些关于相机设备的属性。AVCaptureDevice.h，必须要引入AVFoundation.framework包。1. 前置和后置摄像头enum { AVCaptureDevicePositionBack = 1, AVCaptureDevicePositionFront = 2};typedef NSInteg...]]></description><category></category></item><item><title><![CDATA[UIScrollView的属性总结]]></title><link>https://blog.csdn.net/ddxp9097/article/details/101537715</link><guid>https://blog.csdn.net/ddxp9097/article/details/101537715</guid><author>ddxp9097</author><pubDate>Mon, 07 Jul 2014 10:13:00 +0800</pubDate><description><![CDATA[UIScrollView的属性总结









属性
作用


CGPoint contentOffSet
监控目前滚动的位置


CGSize contentSize
滚动范围的大小


UIEdgeInsets contentInset
视图在scrollView中的位置


id&lt;UIScrollerViewDele...]]></description><category></category></item><item><title><![CDATA[loadView、viewDidLoad、viewWillAppear、viewDidAppear等详解]]></title><link>https://blog.csdn.net/ddxp9097/article/details/101537721</link><guid>https://blog.csdn.net/ddxp9097/article/details/101537721</guid><author>ddxp9097</author><pubDate>Mon, 07 Jul 2014 09:48:00 +0800</pubDate><description><![CDATA[loadView;


This is where subclasses should create their custom view hierarchy
if they aren't using a nib. Should never be called
directly.


这是当他们没有正在使用nib视图页面，子类将会创建自己的自定义视图层。绝不能直接调用。...]]></description><category></category></item><item><title><![CDATA[理解UIScrollView]]></title><link>https://blog.csdn.net/ddxp9097/article/details/101537713</link><guid>https://blog.csdn.net/ddxp9097/article/details/101537713</guid><author>ddxp9097</author><pubDate>Sun, 22 Jun 2014 12:34:00 +0800</pubDate><description><![CDATA[我是Mike Ash的Let’s Build…系列文章的忠实粉丝，在这一系列文章中他从头设计Cocoa的控件来解释他们的工作原理。在这里我要做一点类似的事情，用几行代码来实现我自 己的滚动试图。不过首先，让我们先来了解一下UIKit中的坐标系是怎么工作的。如果你只对滚动试图的代码实现感兴趣可以放心跳过下一小节。UIKit坐 标系每一个View都定义了他自己的坐标系统。如下图所示，x轴指向...]]></description><category></category></item><item><title><![CDATA[KVC 和 KVO]]></title><link>https://blog.csdn.net/ddxp9097/article/details/101537719</link><guid>https://blog.csdn.net/ddxp9097/article/details/101537719</guid><author>ddxp9097</author><pubDate>Sat, 14 Jun 2014 00:15:00 +0800</pubDate><description><![CDATA[Key-value coding (KVC) 和 key-value observing (KVO) 是两种能让我们驾驭 Objective-C 动态特性并简化代码的机制。在这篇文章里，我们将接触一些如何利用这些特性的例子。
观察 model 对象的变化
在 Cocoa 的模型-视图-控制器 (Model-view-controller)架构里，控制器负责让视图和模型同步。这一共有两...]]></description><category></category></item><item><title><![CDATA[IOS7环境UITextView文字高度的计算]]></title><link>https://blog.csdn.net/ddxp9097/article/details/101537716</link><guid>https://blog.csdn.net/ddxp9097/article/details/101537716</guid><author>ddxp9097</author><pubDate>Wed, 07 May 2014 09:18:00 +0800</pubDate><description><![CDATA[IOS7环境中，设置UITextView.text并不能立即更新contentSize,再用textView.contentSize.height无法获取当前内容的高度。采用以下方法可以解决这个问题。


 if ([[[UIDevice currentDevice] systemVersion] floatValue] &gt;= 7) {
        
      ...]]></description><category></category></item><item><title><![CDATA[Mac显示隐藏文件]]></title><link>https://blog.csdn.net/ddxp9097/article/details/101537710</link><guid>https://blog.csdn.net/ddxp9097/article/details/101537710</guid><author>ddxp9097</author><pubDate>Fri, 25 Apr 2014 08:06:00 +0800</pubDate><description><![CDATA[•在终端中输入以下命令，可以切换隐藏文件的显示
•显示隐藏文件
•defaults write com.apple.finder AppleShowAllFiles Yes &amp;&amp; killall Finder
•
•不显示隐藏文件
•defaults write com.apple.finder AppleShowAllFiles No &amp;&amp; k...]]></description><category></category></item><item><title><![CDATA[IOS中彻底删除mysql方法]]></title><link>https://blog.csdn.net/ddxp9097/article/details/101537714</link><guid>https://blog.csdn.net/ddxp9097/article/details/101537714</guid><author>ddxp9097</author><pubDate>Fri, 25 Apr 2014 08:05:00 +0800</pubDate><description><![CDATA[1.先停止所有mysql有关进程
2.sudo rm /usr/local/mysql
3.sudo rm -rf /usr/local/mysql*
4.sudo rm -rf /Library/StartupItems/MySQLCOM
5.sudo rm -rf /Library/PreferencePanes/My*
6.sudo vi /etc/hostconfig ...]]></description><category></category></item><item><title><![CDATA[详解UIPickerView]]></title><link>https://blog.csdn.net/ddxp9097/article/details/101537707</link><guid>https://blog.csdn.net/ddxp9097/article/details/101537707</guid><author>ddxp9097</author><pubDate>Mon, 21 Apr 2014 23:24:00 +0800</pubDate><description><![CDATA[一.UIPickerView
1.UIPickerView的常见属性
// 数据源(用来告诉UIPickerView有多少列多少行)
@property(nonatomic,assign) id&lt;UIPickerViewDataSource&gt; dataSource;
// 代理(用来告诉UIPickerView每1列的每1行显示什么内容,监听UIPickerVie...]]></description><category></category></item><item><title><![CDATA[ios判断app是否第一次使用]]></title><link>https://blog.csdn.net/ddxp9097/article/details/101537712</link><guid>https://blog.csdn.net/ddxp9097/article/details/101537712</guid><author>ddxp9097</author><pubDate>Sun, 20 Apr 2014 01:07:00 +0800</pubDate><description><![CDATA[- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]...]]></description><category></category></item><item><title><![CDATA[InfoPlist.plist 中[NSBundle mainBundle].infoDictionary  所有信息]]></title><link>https://blog.csdn.net/ddxp9097/article/details/101537704</link><guid>https://blog.csdn.net/ddxp9097/article/details/101537704</guid><author>ddxp9097</author><pubDate>Sun, 20 Apr 2014 01:01:00 +0800</pubDate><description><![CDATA[2014-04-20 00:49:19.478 新浪微博[23384:70b] {
    CFBundleDevelopmentRegion = en;
    CFBundleDisplayName = "\U65b0\U6d6a\U5fae\U535a";
    CFBundleExecutable = "\U65b0\U6d6a\U5fae\U535a";
    ...]]></description><category></category></item><item><title><![CDATA[NSData与UIImage之间的转换]]></title><link>https://blog.csdn.net/ddxp9097/article/details/101537709</link><guid>https://blog.csdn.net/ddxp9097/article/details/101537709</guid><author>ddxp9097</author><pubDate>Wed, 16 Apr 2014 23:33:00 +0800</pubDate><description><![CDATA[NSData与UIImage之间的转换
    NSData *imageData = [NSData dataWithContentsOfFile: imagePath];UIImage *aimage = [UIImage imageWithData: imageData]; //UIImage－&amp;gt; NSDataNSData *imageData = UIImageP...]]></description><category></category></item><item><title><![CDATA[[__NSCFNumber length]: unrecognized selector sent to instance 0x8b3c310’]]></title><link>https://blog.csdn.net/ddxp9097/article/details/101537700</link><guid>https://blog.csdn.net/ddxp9097/article/details/101537700</guid><author>ddxp9097</author><pubDate>Sun, 06 Apr 2014 23:51:00 +0800</pubDate><description><![CDATA[2014-04-06 19:27:11.954 高仿网易新闻[2828:70b] -[__NSCFNumber length]: unrecognized selector sent to instance 0x8b3c310 2014-04-06 19:27:11.958 高仿网易新闻[2828:70b] *** Terminating app due to uncaught exce...]]></description><category></category></item><item><title><![CDATA[IOS中tableView的数据优化]]></title><link>https://blog.csdn.net/ddxp9097/article/details/101537695</link><guid>https://blog.csdn.net/ddxp9097/article/details/101537695</guid><author>ddxp9097</author><pubDate>Sun, 06 Apr 2014 10:44:00 +0800</pubDate><description><![CDATA[#import "MainViewController.h"

@interface MainViewController ()

@end

@implementation MainViewController

#pragma mark 实例化视图
- (void)loadView
{
    self.tableView = [[UITableV...]]></description><category></category></item><item><title><![CDATA[ios中去除tableView的分割线]]></title><link>https://blog.csdn.net/ddxp9097/article/details/101537705</link><guid>https://blog.csdn.net/ddxp9097/article/details/101537705</guid><author>ddxp9097</author><pubDate>Sun, 06 Apr 2014 09:46:00 +0800</pubDate><description><![CDATA[在开发中我们经常要自定义tableview的cell,这时候系统自带的cell那条黑色的分割线在我们程序也太丑,所以我们要把它干掉,很简单,直接上码:

- (void)viewDidLoad
{
    [super viewDidLoad];
    
    //去除tableView的分割线
    self.tableView.backgroundColor = ...]]></description><category></category></item><item><title><![CDATA[计算webView高度，方便嵌套到scrollView中]]></title><link>https://blog.csdn.net/ddxp9097/article/details/101537701</link><guid>https://blog.csdn.net/ddxp9097/article/details/101537701</guid><author>ddxp9097</author><pubDate>Thu, 03 Apr 2014 00:16:00 +0800</pubDate><description><![CDATA[添加WebView的代理方法，在webViewDidFinishLoad方法里面调用 stringByEvaluatingJavaScriptFromString方法得到webView的高度。［使用 stringByEvaluatingJavaScriptFromString方法，需要等UIWebView中的页面加载完成之后去调用］

#pragma mark ---- 数据加载完调...]]></description><category></category></item><item><title><![CDATA[刷新某行cell的方法]]></title><link>https://blog.csdn.net/ddxp9097/article/details/101537692</link><guid>https://blog.csdn.net/ddxp9097/article/details/101537692</guid><author>ddxp9097</author><pubDate>Thu, 03 Apr 2014 00:13:00 +0800</pubDate><description><![CDATA[有时候只需要刷新某行的cell的数据，完全没必要调用[tableView reloadData]刷新整个列表的数据，调用以下方法即可。


NSIndexPath *indexPath_1=[NSIndexPath indexPathForRow:1 inSection:0];
      NSArray *indexArray=[NSArray arrayWithObject...]]></description><category></category></item><item><title><![CDATA[IOS5  ARC机制]]></title><link>https://blog.csdn.net/ddxp9097/article/details/101537698</link><guid>https://blog.csdn.net/ddxp9097/article/details/101537698</guid><author>ddxp9097</author><pubDate>Fri, 28 Mar 2014 01:40:00 +0800</pubDate><description><![CDATA[一、 基本简介




ARC是自iOS 5之后增加的新特性，完全消除了手动管理内存的烦琐，编译器会自动在适当的地方插入适当的retain、release、autorelease语句。你不再需要担心内存管理,因为编译器为你处理了一切
ARC 是编译器特性，而不是 iOS 运行时特性，它也不是类似于其它语言中的垃圾收集器。因此 ARC 和手动内存管理性能是一样的，有...]]></description><category></category></item></channel></rss>