- 博客(32)
- 收藏
- 关注
转载 xcode 中#pragma的使用
经常在 Xcode IDE 里面的代码中看到以下代码指令:#pragma mark -#pragma mark Initialization#pragma 是什么从技术上讲,以 #pragma 开头的代码是一条编译器指令,是一个特定于程序或编译器的指令。它们不一定适用于其它编译器或其它环境。如果编译器不能识别该指令,则会将其忽略。作用它们告诉Xcod
2014-05-25 19:46:17 573
转载 Cocoa的MVC架构分析
Cocoa是Mac OS和iPhone OS上的开发框架,使用Objective-C做为开发语言。当然,在代码中也可以嵌入C和C++的语句。初识Objective-C时会觉得它的语法很奇怪,但本质上和其他面向对象语言都差不多。具体语法大家可以参考相关文档。 在Cocoa框架中:所有的控件、窗口等都继承自 UIView,对应MVC中的 V。UIView及其子类主要负责UI的实
2014-05-21 22:29:07 808
转载 objective-c的简单委托
objective-c的委托有两种情况:受委托类B和委托类A完全分离,伪代码如下:委托类A:@interface A{id delegate;}@property id delegate;...@end协议:@protocol delegate-(void)func1;
2014-05-21 22:27:40 461
原创 关于nil和 null和NSNull的区别
1、nil和null从字面意思来理解比较简单,nil是一个对象,而NULL是一个值,我的理解为nil是将对象设置为空,而null是将基本类型设置为空的,个人感觉有点像属性当中,基本类型分配为assign NSString类型一般分配copy,而对象一般用retain。而且我们对于nil调用方法,不会产生crash或者抛出异常。看一段nil -> Null-pointer to obje
2014-05-20 20:08:53 597
转载 阐明iOS证书和provision文件
来自:http://blog.csdn.net/xunyn/article/details/12504213
2014-05-20 19:42:00 593
转载 iPhone开发关于UDID和UUID
一.UDID(Unique Device Identifier) UDID是Unique Device Identifier的缩写,中文意思是设备唯一标识. 在很多需要限制一台设备一个账号的应用中经常会用到,在Symbian时代,我们是使用IMEI作为设备的唯一标识的,可惜的是Apple官方不允许开发者获得设备的IMEI. 二.UUID(Universa
2014-05-20 19:27:34 879
转载 App Store Review Guideline(带翻译)
1. Terms and conditions(法律与条款)1.1 As a developer of applications for the App Store you are bound by the terms of the Program License Agreement (PLA), Human Interface Guidelines (HIG), and any
2014-05-20 15:28:49 1086
转载 iOS沙盒机制
1、iOS沙盒机制 iOS应用程序只能在为该改程序创建的文件系统中读取文件,不可以去其它地方访问,此区域被成为沙盒,所以所有的非代码文件都要保存在此,例如图像,图标,声音,映像,属性列表,文本文件等。 1.1、每个应用程序都有自己的存储空间 1.2、应用程序不能翻过自己的围墙去访问别的存储空间的内容 1.3、应用程序请求的数据都要通过权限检测,假如不符合条件的话,不会被放行
2014-05-20 12:18:31 510
转载 @property和@synthesize
从Objective-C2.0开始,可自动生成设值方法和取值方法(统称为存取方法)。具体步骤如下:1)在接口部分中使用@property指令标识属性。@interface Fraction : NSObject@property int numerator, denominator;@end2)在实现部分使用@synthesize指令即可。@inpl
2014-05-19 22:55:02 460
原创 ios系统架构图
1、Core OS是位于iOS系统架构最下面的一层是核心操作系统层,它包括内存管理、文件系统、电源管理以及一些其他的操作系统任务。它可以直接和硬件设备进行交互。作为app开发者不需要与这一层打交道。 2、Core Services是核心服务层,可以通过它来访问iOS的一些服务。 3、Media是媒体层,通过它我们可以在应用程序中使用各种媒体文件,进行音频与视频的
2014-05-19 22:18:20 1877
原创 Objective-c文件类型
.m 文件是objective-c代码,由objective-c编译器处理(扩展名代表message)c编译器处理.c文件c++编译器处理.cpp文件。在xcode中,所有的这些编译工作默认由LLVM处理,这个编译器能够处理c语言的全部三个变体。关于LLVM的介绍见下面:LLVM (formerly Low Level Virtual Machine) is
2014-05-19 22:11:56 696
原创 建立导航控制器和Tab Bar控制器
选择试图控制器,选择 Editor菜单 / Embed in 子菜单,接着选择Navigation Controller
2014-05-19 20:18:11 719
转载 IOS 启动画面和图标设置(适配IOS7 and Xcode5)
关于IOS程序设置启动画面以及图标的设备目前主要为:IPhone设备 和IPad设备IPhone启动画面以及图标的设置目前IPhone的分辨率为:320X480、640X960、640X1136。Default.png 320X480 iPhone 320X480分辨率屏幕默认启动图片。Default@2x.png
2014-05-18 23:02:05 532
转载 私有API
一.基本知识iPhone中的API除了公开的API:Published API外(或者叫文档中记录的API:Documented API),还有两类API:私有API:Private API和未公开的API:UnPublished API(或者叫文档中未记录的API:Undocumented API)。其中私有API是指放在PrivateFrameworks框架中的API,未公开的API是
2014-05-18 22:35:51 851
转载 11个UI设计秘诀
一个好的用户界面易于用户快速上手,并能提升用户转换率。换言之,UI设计能够带来用户和销售双赢的局面。 GoodUI.org带来了11条实用的UI设计建议。尽量使用单栏设计,从上到下一气呵成地展示自己的内容,引导用户阅读页面内容,并采取进一步的行动,而多栏容易导致阅读者分心。给用户小礼品,不要上来就卖东西。送礼也是一种有效的说服策略,友好的姿态对销售更有好处。合并类似的功能,避免内容过于分散
2014-05-17 11:14:03 391
原创 xib(nib)文件
都是一些对象的描述,类似VC的.rc资源文件。nib是二进制格式,xib是单一的xml文档,便于源代码版本管理。现在新版本的Xcode 在创建项目时,已经默认使xib格式的文档了。在build的时候,xcode会把xib都转换为nib(反序列化效率高)。app启动的时候会根据xml构造xib对应的界面及其控件。
2014-05-17 11:03:13 594
转载 IBOutlet和IBAction
#ifndef IBOutlet#define IBOutlet#endif#ifndef IBAction#define IBAction void#endif这样的ding'yi
2014-05-17 10:43:03 477
转载 Outlet和Action
outlet:可以理解为一个指针指向了nib中的控件对象,我们可以通过输出口来操作这个控件。 action:触发一个控件后这个控件执行的方法。
2014-05-17 10:34:12 715
原创 ViewController的Custom class
View和ViewController之间的对应关系,需要一个桥梁来进行连接的(即,对于一个视图,他如何知道自己的界面的操作应该由谁来响应),这个桥梁就是File's Owner。 选中某个XIB的File's Owner,在Inspector中可以看到属性:File Name和Custom Class,该File's Owner就是用来绑定File Name中的xib文件和Custo
2014-05-17 10:29:06 1387
转载 浅复制和深复制的区别?
浅层复制:只复制指向对象的指针,而不复制引用对象本身。深层复制:复制引用对象本身。意思就是说我有个A对象,复制一份后得到A_copy对象后,对于浅复制来说,A和A_copy指向的是同一个内存资源,复制的只不过是是一个指针,对象本身资源还是只有一份,那如果我们对A_copy执行了修改操作,那么发现A引用的对象同样被修改,这其实违背了我们复制拷贝的一个思想。深复制就好理解了,内存中存在了两
2014-05-17 08:20:30 705
原创 描述一下iOS SDK中如何实现MVC的开发模式
MVC是模型、试图、控制开发模式。对于iOS SDK,所有的View都是视图层的,它应该独立于模型层,由视图控制层来控制。所有的用户数据都是模型层,它应该独立于视图。所有的ViewController都是控制层,由它负责控制视图,访问模型数据。
2014-05-17 08:17:36 2157
转载 常见的object-c的数据类型有那些, 和C的基本数据类型有什么区别?如:NSInteger和int
object-c的数据类型有NSString,NSNumber,NSArray,NSMutableArray,NSData等等,这些都是class,创建后便是对象。而C语言的基本数据类型int,只是一定字节的内存空间,用于存放数值;NSInteger是基本数据类型,并不是NSNumber的子类,当然也不是NSObject的子类。NSInteger是基本数据类型Int或者Long的别
2014-05-15 21:56:32 2725 3
原创 属性readwrite,readonly,assign,retain,copy,nonatomic
readwrite 是可读可写特性;需要生成getter方法和setter方法时readonly 是只读特性 只会生成getter方法 不会生成setter方法 ;不希望属性在类外改变assign 是赋值特性,setter方法将传入参数赋值给实例变量;仅设置变量时;retain 表示持有特性,setter方法将传入参数先保留,再赋值,传入参数的retaincount会+1
2014-05-15 21:49:16 834
原创 #import, #include, @class
#import是Objective-C导入头文件的关键字#include是C/C++导入头文件的关键字,使用#import头文件会自动只导入一次,不会重复导入,相当于#include和#pragma once;@class告诉编译器某个类的声明,当执行时,才去查看类的实现文件,可以解决头文件的相互包含;#import
2014-05-15 20:12:18 472
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人