MAC
文章平均质量分 84
MAZHEN1986
这个作者很懒,什么都没留下…
展开
-
苹果iOS6新功能剖析 十一项暴强升级!
http://pcedu.pconline.com.cn/ios/1206/2822997_all.html1苹果iOS6系统 为中国用户优化回顶部 苹果12日凌晨在WWDC2012大会上,对外展示了新一代移动操作系统iOS 6,苹果iOS6.0系统界面没有任何改变,功能上加入了苹果自家的地图应用Maps、加强版Siri语音助手,还与OS X Mounta转载 2012-07-23 10:34:03 · 24203 阅读 · 0 评论 -
NSArray与NSMutableArray的区别
在iOS 开发过程中, NSArray,NSMutableArray、NSDictionary、 NSMutableDictionary 经常被用到。这里先来介绍NSArray 与 NSMutableArray。 NSArray 和 NSMutableArray 二者有时可任意选用,有时又必区分开来。首先,NSArray只能存储Objective-C 对象,而不转载 2012-04-15 16:37:33 · 350 阅读 · 0 评论 -
NSStirng、NSArray、以及枚举
/******************************************************************************************* NSString ****************************************************************************************转载 2012-04-15 14:03:33 · 349 阅读 · 0 评论 -
NSArray,NSSet,NSDictionary 操作函数
三种集合类来收集cocoa对象(NSObject对象):NSArray 用于对象有序集合(相当于是数组)NSSet 用于对象无序集合NSDictionary用于键值映射以上三种集合类是不可变的(一旦初始化后,就不能改变)以下是对应的三种可变集合类(这三种可变集合类是对应上面三种集合类的子类):NSMutableArrayNSMutableSetNSM转载 2012-04-15 13:54:24 · 436 阅读 · 0 评论 -
init、loadView、viewDidLoad、viewDidUnload、dealloc
由init、loadView、viewDidLoad、viewDidUnload、dealloc的关系说起由init、loadView、viewDidLoad、viewDidUnload、dealloc的关系说起init方法在init方法中实例化必要的对象(遵从LazyLoad思想)init方法中初始化ViewController本身 loadView方法当view需转载 2012-04-14 21:01:08 · 446 阅读 · 0 评论 -
OpenGL ES for iPhone: Drawing a Circle 3
原文地址:http://vormplus.be/blog/article/opengl-es-for-iphone-drawing-a-circle-part-iii第三节分我们将要学习怎样优化可以让我们的app运行流畅。前面的例子中,每次view调用draw方法的时候都会计算一次顶点。这是很浪费cpu的,因为这些顶点的值并没有被改变。如果我们只在程序加载的时候计算一次顶点效果会更好。把下转载 2012-04-14 20:02:15 · 420 阅读 · 0 评论 -
OpenGL ES 2.0 for iPhone Tutorial
http://www.raywenderlich.com/3664/opengl-es-2-0-for-iphone-tutorialOpenGL ES is the lowest-level API that you use to program 2D and 3D graphics on the iPhone.If you’ve used other framework s转载 2012-04-14 19:42:03 · 1211 阅读 · 0 评论 -
NSDictionary / NSMutableDictionary 及 NSArray / NSmutableArray (实例)
NSDictionary 和 NSArray一样是不可变的对象。用来实现字典集合,在给定关键字(通常是一个NSString字符串)下存储一个数值(可以是任何类型的对象)。 NSDictionary使用类方法 dictionaryWithObjectAndKeys: 来创建字典;使用方法objectForKey: 来获取字典中的值。C代码 NSD转载 2012-04-15 16:39:25 · 368 阅读 · 0 评论 -
OpenGL ES for iPhone: Drawing a Circle 2
原文地址:http://vormplus.be/blog/article/opengl-es-for-iphone-drawing-a-circle-part-ii在上一篇中,我们学习了怎么在iPhone上绘制一个圆,在这一篇中,我们将学习怎么样绘制一个更好的圆。添加随机颜色在实际使用中经常使用随机颜色,在iPhone上可以很容易的实现这个功能。我们可以把圆周分成360等份,在转载 2012-04-14 20:01:04 · 615 阅读 · 0 评论 -
OpenGL ES 2.0 for iPhone Tutorial中文版
教程截图: OpenGL ES 是可以在iphone上实现2D和3D图形编程的低级API。 如果你之前接触过 cocos2d,sparrow,corona,unity 这些框架,你会发现其实它们都是基于OpenGL上创建的。 多数程序员选择使用这些框架,而不是直接调用OpenGL,因为OpenGL实在是太难用了。 而这篇教程,就是为了让大家更好地入门而写的。转载 2012-04-14 19:57:59 · 1231 阅读 · 0 评论 -
笔记objective-c + - 实例方法 类方法
方法名字前面的单个减号(-)表明该方法是一个实例方法。如果方法名字前面是一个加号(+),则表明该方法是一个类(static)方法。类方法以及私有方法本系列讲座有着很强的前后相关性,如果你是第一次阅读本篇文章,为了更好的理解本章内容,笔者建议你最好从本系列讲座的第1章开始阅读,请点击这里。 Objective-C里面区别于实例方法,和Java或者C++一样,也支持转载 2012-04-13 22:44:54 · 6118 阅读 · 0 评论 -
从 C++ 到 Objective-C
Objective-C 可以算作 Apple 平台上“唯一的”开发语言。很多 Objective-C 的教程往往直接从 Objective-C 开始讲起。不过,在我看来,这样做有时候是不合适的。很多程序员往往已经掌握了另外一种开发语言,如果对一门新语言的理解建立在他们已有的知识之上,更能 起到事半功倍的效果。既然名为 Objective-C,它与 C 语言的联系更加密切,然而它又是 Objec转载 2012-04-13 21:31:45 · 680 阅读 · 0 评论 -
Program received signal: "SIGABRT"
SIG is a common prefix for signal names. ABRT is an abbreviation for abort. SIGABRT is sent by the process to itself when it calls the abort libc function, defined in stdlib.h. The SIGABRT signal原创 2012-04-15 21:03:55 · 1705 阅读 · 0 评论 -
Objective-C中NSValue的使用
我们在C/C++开发中常会用到结构体来帮助我们简单封装基本数据类型,在Objective-C中我们也可以使用结构体来完成数据类型的封装。同时,Cocoa Touch还提供了一个NSValue来帮助我们更好地在开发中使用结构体。 我们可以使用NSValue来辅助我们实现一些简单数据结构的封装。比如我们定义了一个简单的结构体类型typedef struct {转载 2012-04-15 15:36:54 · 383 阅读 · 0 评论 -
objective-C中#pragma mark
经常在 Xcode IDE 里面的代码中看到以下代码指令:#pragma mark -#pragma mark Initialization#pragma 是什么从技术上讲,以 #pragma 开头的代码是一条编译器指令,是一个特定于程序或编译器的指令。它们不一定适用于其它编译器或其它环境。如果编译器不能识别该指令,则会将其忽略。作用它们告诉Xcode编转载 2012-04-15 13:15:16 · 381 阅读 · 0 评论 -
OpenGL ES for iPhone: Drawing a Circle 1
原文地址:http://vormplus.be/blog/article/opengl-es-for-iphone-drawing-a-circle-part-i 从Processing(译者注:processing是个编程语言,下同)转到iPhone开发是个痛苦的过程。OpenGL的实现有些不同,而且文档很少。我从Dave Mark and Jeff Lamarche 写的“Begi转载 2012-04-14 20:00:12 · 514 阅读 · 0 评论 -
NSArray NSDictionary NSFileManager基本操作
/******************************************************************************************* NSArray ***************************************************************************************转载 2012-04-13 22:29:34 · 605 阅读 · 0 评论 -
从 C++ 到 Objective-C:字符串和 C++ 特性
字符串Objective-C 中唯一的 static 对象在 C 语言中,字符串就是字符数组,使用 char* 指针。处理这种数据非常困难,并且可能引起很多 bug。C++ 的 string 类是一种解脱。在 Objective-C 中,前面我们曾经介绍过,所有对象都不是自动的,都要在运行时分配内存。唯一不符合的就是 static 字符串。这导致可以使用 static 的 C 字符转载 2012-04-13 13:32:18 · 489 阅读 · 0 评论 -
@property(..,..)
assign:指定setter方法用简单的赋值,这是默认操作。你可以对标量类型(如int)使用这个属性。你可以想象一个float,它不是一个对象,所以它不能retain、copy。简单赋值,不更改索引计数(Reference Counting).使用assign: 对基础数据类型 (NSInteger)和C数据类型(int, float, double, char,结构体等)retain:转载 2012-04-15 21:39:11 · 441 阅读 · 0 评论 -
向NSArray NSDictionary中添加数字、自定义结构体等
向nsarray nsdictionary中添加数字、自定义结构体等添加数字,用nsnumber类://转换为NSNumber+ (NSNumber *)numberWithInt:(int)value- (id)initWithInt:(int)value//转换回数字- (int)intValue添加结构体,用nsvalue类:typedef s转载 2012-04-15 21:58:29 · 2867 阅读 · 1 评论 -
Cocoa内存管理规则
Cocoa内存管理规则1)当你使用new、alloc、copy方法创建一个对象时,该对象的保留计数器值为1.当不再使用该对象时,你要负责向该对象发送一条release或autorelease消息。这样,该对象将在其使用寿命结束时被销毁。2)当你通过其他方法获得一个对象时,这假设该对象的保留计数器值为1,而且已经被设置为自动释放,你不需要执行任何操作来确保该对象被清理。如果你打算在一段时间内转载 2012-04-21 01:24:21 · 495 阅读 · 0 评论 -
Xcode的调试器
Xcode的调试器Xcode有一个调试器。调试器是位于你编写的程序和操作系统之间的程序,它能够中断你的程序,使之在运行中停止,这样你就可以检查程序的数据,甚至可以修改程序。在你完成这些后,可以恢复程序的执行并查看运行结果。你也可以单步执行代码,逐行运行程序来细致地查看你的代码会对数据进行哪些改动。Xcode中有几处地方可以使用调试器。第一处就在文本编辑器里,通过在边列上设置断点来实转载 2012-04-22 01:13:30 · 2874 阅读 · 0 评论 -
执行 .sh文件
执行.sh文件新手或许会遇到permission denied的问题在linux 可以加上sudo之后在输入密码就可以了。Mac也许会有相应的方法我的方法如下:进入你执行的命令目录,在进入目录过程中或许会遇到包含空格的文件名,可以用转义字符'\'加在空格前面即可。进入命令目录下,比如installTemplatesXcode4.sh。进入该目录后:执行chmod u+x ins原创 2012-04-20 22:42:21 · 724 阅读 · 0 评论 -
xcode 查找 EXC_BAD_ACCESS 问题根源的方法
code4 EXC_BAD_ACCESS这个问题一直不好调试,在网上看到过说配置一个环境变量可以很方便的跟踪问题,但是查到的都是xcode3版本的配置方法,以下是XCODE 4的配置方法,希望给升级xcode4后迷茫的童鞋们帮助:product->Edit Scheme->Arguments->Environment variables增加 NSZombieEn转载 2012-04-18 22:18:25 · 485 阅读 · 0 评论 -
C++和Objective-C混编
Using C++ With Objective-C 苹果的Objective-C编译器允许用户在同一个源文件里自由地混合使用C++和Objective-C,混编后的语言叫Objective-C++。有了它,你就可以在Objective-C应用程序中使用已有的C++类库。Objective-C和C++混编的要点 在Objective-C++中,可以用C++代码调用方法也可转载 2012-04-18 22:16:27 · 400 阅读 · 0 评论 -
iOS内存管理
1. 内总管理原则(引用计数) IOS的对象都继承于NSObject, 该对象有一个方法:retainCount ,内存引用计数。 引用计数在很多技术都用到: window下的COM组件,多线程的信号量,读写锁,思想都一样。 (一般情况下: 后面会讨论例外情况) alloc 对象分配后引用计数为1 retain 对象的引用计数转载 2012-04-18 22:11:06 · 452 阅读 · 0 评论 -
XCode调试技巧之EXC_BAD_ACCESS中BUG解决
XCode调试技巧之EXC_BAD_ACCESS中BUG解决是本文要介绍的内容,在iphone开发的时候EXC_BAD_ACCESS这个bug时不容易找到原因的,在网上找到的3个关于这个问题的方法,希望可以帮到你,我自己试了一下第一中方法,效果还不错首先说一下 EXC_BAD_ACCESS 这个错误,可以这么说,90%的错误来源在于对一个已经释放的对象进行release操作。1.转载 2012-04-18 22:07:30 · 519 阅读 · 0 评论 -
@property (nonatomic,retain,...)
@property (nonatomic,retain) IBOutlet UIWindow *window ;或者@property (nonatomic, retain) IBOutlet UIButton *myButton;@property (nonatomic,retain)中的nonatom和retain是什么意思:@property是一个属性访问声明,扩号内支持以下转载 2012-04-04 12:35:55 · 2603 阅读 · 0 评论 -
iPhone开发学习笔记001——Xib界面上的控件与代码的相互关联方法
(注:环境Mac OS X Lion 10.7.3 + Xcode 4.2.1 + iOS SDK 5.0.)比如工程中添加了一个UIViewController的sub class,新建的时候选中“With XIB for user interface”,则新建完成会同时生成三个文件:xxx.h, xxx.m, xxx.xib(前期也可是*.nib,xib和nib都指UI源文件,后来苹果统一转载 2012-04-18 22:13:17 · 631 阅读 · 0 评论 -
setValue和setObject的区别
setValue:forKey: is part of the NSKeyValueCoding protocol, which among other things, lets you access object properties from the likes of Interface Builder. setValue:forKey: is implemented in classes转载 2012-04-18 00:46:21 · 743 阅读 · 0 评论 -
四步轻松实现用Visio画UML类图
本节和大家一起学习一下用Visio画UML类图的方法,主要有四个步骤,这里和大家分享一下,相信通过本节的学习,你对Visio画UML类图的步骤一定会有所了解。 用Visio画UML类图 对于画类图的工具很多,曾经学过用starUML画类图,但这个是用于Java语言的,对于用vs编程C++语言,个人感觉用visio会好一点。以下用以前面的俄罗斯方块游戏中的一个Block类为例来讲述。转载 2012-04-16 12:39:09 · 1361 阅读 · 0 评论 -
NSData, NSValue, NSKeyedArchiver and non objects
# Objective-C做的一个Framework跟App整合到一起,因为用到了多线程,所以通信不可避免,但是Framework里又载入了一个C++的Plugin,里面有许多struct,在把这类struct变成对象序列化时遇到问题。以前做的很傻,把struct的所有成员用NSDictionary来一个个封装,再一个个反序列化,好傻呀。要是struct定义变了,那代码就又要修改了~所转载 2012-04-16 01:39:52 · 949 阅读 · 0 评论 -
常见的NSArray和NSMutableArray方法
NSArray方法:+ (id)arrayWithObjects:(id)firstObj, …nil创建一个新数组, 逗号隔开,nil结尾.- (BOOL)containsObject:(id)anObject确定数组中是否包含对象anObject(是用isEqual方法)- (NSUInteger)count数组中元素的个数- (NSUI转载 2012-04-15 23:47:29 · 435 阅读 · 0 评论 -
Objective-C 队列实现
Objective-C 队列实现原贴地址:http://blog.csdn.net/cloudhsu/article/details/6589313 Objective-C同样没有提供Queue容器,因此我也自己实践了一个#import @interface NSQueue : NSObject {NSMutableArray* m_array;转载 2012-04-15 21:36:58 · 3639 阅读 · 0 评论 -
Objective-C学习笔记2:类、对象和方法
1、实例和方法(1)使用类创建一个实例:yourCar = [Car new];这里的Car是一个类,yourCar是一个对象(2)对类和实例应用方法:[ClassOrInstance methed];类或实例的名称要紧跟“[”,“];”用于终止。这条语句相当于Java中的:对象名.方法名再如:currentMileage = [转载 2012-04-16 22:46:21 · 500 阅读 · 0 评论 -
Objective-C中const常量是外连接的
标准C中const定义的变量是外连接的,即如果一个编译单元中定义了一个全局const常量,则其在其他编译单元中是可见的,如果其他编译单元也定义了同名const常量就会产生重复定义错误。这一点与C++不同,C++中const定义的变量是内连接的,即每个编译单元定义的全局const常量是自己独有的。 Objective-C是标准C的另一种扩展,那么我犯的错误也就很明显了——当多个编译单元转载 2012-04-16 22:45:19 · 1334 阅读 · 0 评论 -
@property(...)copy还是retain
@property(...)copy还是retain输出结果:转载 2012-04-15 21:38:23 · 690 阅读 · 0 评论 -
从 C++ 到 Objective-C:STL 和 Cocoa
C++ 标准库是其强大的一个原因。即使它还有一些不足,但是已经能够算作是比较完备的了。这并不是语言的一部分,而是属于一种扩展,其他语言也有类似的部分。在 Objective-C 中,你不得不在 Cocoa 里面寻找容器、遍历器或者其他一些真正可以使用的算法。容器Cocoa 的容器比 C++ 更加面向对象,它不使用模板实现,只能存放对象。现在可用的容器有:NSArray 和转载 2012-04-13 13:24:40 · 1670 阅读 · 0 评论 -
从 C++ 到 Objective-C :异常处理和多线程
异常处理比起 C++ 来,Objective-C 中的异常处理更像 Java,这主要是因为 Objective-C 有一个 @finally 关键字。Java 中也有一个类似的 finally 关键字,但 C++ 中则没有。finally 是 try()…catch() 块的一个可选附加块,其中的代码是必须执行的,不管有没有捕获到异常。这种设计可以很方便地写出简短干净的代码,比如资源释放等转载 2012-04-13 13:42:36 · 549 阅读 · 0 评论 -
performSelectorInBackground 导致内存泄露的解决方法
程序中起了一个线程来调用某updataData的方法[xxAdManager performSelectorInBackground: @selector(updateData) withObject:nil];结果出现了内存泄露的提示:class xxxx autoreleased with no pool in place转载 2012-04-09 09:33:40 · 1229 阅读 · 0 评论