当前位置:  编程技术>移动开发
本页文章导读:
    ▪CocoaPods装配与使用        CocoaPods安装与使用 CocoaPods是一个负责管理iOS项目中第三方开源代码的工具。使用CocoaPods可以为我们节省设置和更新第三方开源库的时间。   一、安装CocoaPods       先使用下面命令升级Ruby版.........
    ▪ 几时用Delegate和何时用Block        何时用Delegate和何时用Block? 公共接口,方法较多也选择用delegate进行解耦iOS有很多例子比如最常用tableViewDelegate,textViewDelegate异步和简单的回调用block更好iOS有很多例子比如常用的网络库A.........
    ▪ 覆盖equals步骤的注意事项       覆盖equals方法的注意事项 public abstract class AbstractPointcutAdvisor { @Override public boolean equals(Object other) { if (this == other) { return true; } if (!(other instanceof PointcutAdvisor)) { return false; } PointcutA.........

[1]CocoaPods装配与使用
    来源: 互联网  发布时间: 2014-02-18
CocoaPods安装与使用

CocoaPods是一个负责管理iOS项目中第三方开源代码的工具。使用CocoaPods可以为我们节省设置和更新第三方开源库的时间。

 

一、安装CocoaPods

 

    先使用下面命令升级Ruby版本:

 

1 gem update --system

    等待更新完成后,然后通过gem命令来下载安装CocoaPods:

1 gem install cocoapods

    安装完毕后调用下面命令,进行CocoaPods设置:

1 pod setup

    执行完成上述命令后,表示安装成功!

二、使用CocoaPods

 

    打开终端,使用cd命令定位到需要使用CocoaPods的项目根路径。如:

 

1 cd /Users/username/Documents/Projects/Demo

    先考虑项目中需要引用哪些库,然后在通过search命令来查找库的信息,如需要加入JSONKit,那可以如下写法:

1 pod search JSONKit

    命令执行后会得到如下结果:

1 -> JSONKit (1.5pre)
2    A Very High Performance Objective-C JSON Library.
3    pod 'JSONKit', '~> 1.5pre'
4    - Homepage: https://github.com/johnezang/JSONKit
5    - Source:   https://github.com/johnezang/JSONKit.git
6    - Versions: 1.5pre, 1.4 [master repo]

    其中的pod 'JSONKit', '~> 1.5pre'是待会要写入到Podfile中的信息。如果已经知道这些信息,那可以直接省略此步。直接进行下面的步骤。

    得到必要的库信息后,现在需要在项目中建立Podfile文件。通过下面的命令:

 

1 touch Podfile

    然后编辑Podfile文件,命令如下:

1 open -e Podfile

    在弹出的编辑界面中输入下面内容:

1 platform :ios
2  
3 pod 'JSONKit', '~> 1.5pre'

    然后调用下面命令来进行初始化:

1 pod install

    运行完毕后,原本的项目目录会多出一些文件。如图:

    多了*.xcworkspace  pod等文件。这是pod生成的项目管理文件,打开LibDemo.xcworkspace 项目文件,在Xcode里看到是这样的目录结构:

 

    这里要注意的一点是,如果不调用创建Podfile命令就直接调用pod install命令。将会提示“

 

[!] No `Podfile' found in the current working directory.”

 

    如果Podfile中添加了新库,可以使用下面命令进行更新:

 

1 pod update

 

     现在,你的所有第三方库都已经下载完成并且设置好了编译参数和依赖,你只需要记住如下2点即可: 

    1、使用CocoaPods生成的 .xcworkspace 文件来打开工程,而不是以前的 .xcodeproj 文件。 
     2、每次更改了Podfile文件,你需要重新执行一次pod install或者pod update命令 。


    
[2] 几时用Delegate和何时用Block
    来源: 互联网  发布时间: 2014-02-18
何时用Delegate和何时用Block?
公共接口,方法较多也选择用delegate进行解耦
iOS有很多例子比如最常用tableViewDelegate,textViewDelegate

异步和简单的回调用block更好
iOS有很多例子比如常用的网络库AFNetwork,ASIHTTP库,UIAlertView类。

都是为了在具体的实现Delegate或Block中再进行处理,属于策略模式,具体算法在具体算法类中实现。


显示状态栏菊花效果
[[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:YES];

    
[3] 覆盖equals步骤的注意事项
    来源: 互联网  发布时间: 2014-02-18
覆盖equals方法的注意事项
public abstract class AbstractPointcutAdvisor
{
@Override
	public boolean equals(Object other) {
		if (this == other) {
			return true;
		}
		if (!(other instanceof PointcutAdvisor)) {
			return false;
		}
		PointcutAdvisor otherAdvisor = (PointcutAdvisor) other;
		return (ObjectUtils.nullSafeEquals(getAdvice(), otherAdvisor.getAdvice()) &&
				ObjectUtils.nullSafeEquals(getPointcut(), otherAdvisor.getPointcut()));
	}

	@Override
	public int hashCode() {
		return PointcutAdvisor.class.hashCode();
	}
}


other instanceof PointcutAdvisor  要判断一下 类型,可能会有不是该类型的类传入

    
最新技术文章:
▪Android开发之登录验证实例教程
▪Android开发之注册登录方法示例
▪Android获取手机SIM卡运营商信息的方法
▪Android实现将已发送的短信写入短信数据库的...
▪Android发送短信功能代码
▪Android根据电话号码获得联系人头像实例代码
▪Android中GPS定位的用法实例
▪Android实现退出时关闭所有Activity的方法
▪Android实现文件的分割和组装
▪Android录音应用实例教程
▪Android双击返回键退出程序的实现方法
▪Android实现侦听电池状态显示、电量及充电动...
▪Android获取当前已连接的wifi信号强度的方法
▪Android实现动态显示或隐藏密码输入框的内容
▪根据USER-AGENT判断手机类型并跳转到相应的app...
▪Android Touch事件分发过程详解
▪Android中实现为TextView添加多个可点击的文本
▪Android程序设计之AIDL实例详解
▪Android显式启动与隐式启动Activity的区别介绍
▪Android按钮单击事件的四种常用写法总结
▪Android消息处理机制Looper和Handler详解
▪Android实现Back功能代码片段总结
▪Android实用的代码片段 常用代码总结
▪Android实现弹出键盘的方法
▪Android中通过view方式获取当前Activity的屏幕截...
▪Android提高之自定义Menu(TabMenu)实现方法
▪Android提高之多方向抽屉实现方法
▪Android提高之MediaPlayer播放网络音频的实现方法...
▪Android提高之MediaPlayer播放网络视频的实现方法...
▪Android提高之手游转电视游戏的模拟操控
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3