综合知识
文章平均质量分 90
Sodaslay
这个作者很懒,什么都没留下…
展开
-
利用NSFileManager获取文件(文件夹)列表
在开发iPhone程序时,有时候要对文件进行一些操作。而获取某一个目录中的所有文件列表,是基本操作之一。通过下面这段代码,就可以获取一个目录内的文件及文件夹列表。NSFileManager *fileManager = [NSFileManager defaultManager];//在这里获取应用程序Documents文件夹里的文件及文件夹列表 NSArray *d转载 2012-06-15 12:49:04 · 830 阅读 · 0 评论 -
[系统控件重绘教程(一)]重绘NSWindow
NSWindow的风格一直只有两种,很难看。Panel倒是有种HUD风格的,但window没有,毕竟window和panel的titile大小还是不一样的,网上有关于HUDWindow的代码,不过那是把window的titlebar给隐藏掉,自己画上三个button和右下角可以resize的东东,如果用这个window来弹出sheet的话会很诡异的出现…… 就是sheet从window的最上转载 2012-06-14 18:55:37 · 2784 阅读 · 0 评论 -
[系统控件重绘教程(二)]重绘NSButton
首先大家看Apple关于NSButton的描述,NSButton跟NSWindow一样,它的外观形式也是委托给NSButtonCell来处理的, 自身只包含逻辑代码。所以重绘NSButton就是重绘NSButtonCell啦,然后把NSButton的cell设置位你自己的cell就 好了。1)重绘目标首 先观察一下系统NSButton的行为和外观表现,可以发现默认Button(快捷转载 2012-06-14 18:57:33 · 1745 阅读 · 0 评论 -
把文件压缩成zip包的代码
这段代码由 CocoaChina 会员“garnett2183”分享,适用于 Mac 应用中添加文件压缩功能。+(BOOL) archiveFile:(NSString*)srcfile destZipFile:(NSString*)zipfile { NSTask * zipTask = [[NSTask alloc] init]; [zipTask setL转载 2012-06-15 12:45:44 · 1351 阅读 · 0 评论 -
24种语言执行外部命令的方法
在这个例子中展示用不同语言调用外部命令的方法。觉得这个挺有意思,转来给大家看看,也许某一天你会觉得有用。这些语言包括AdaAppleScriptCC++C#EForthHaskellIDLJJavaLogoMAXScriptObjective-COCamlPerlPHPPop11PythonRavenRuby转载 2012-06-15 14:15:27 · 748 阅读 · 0 评论 -
Mac技巧50条
1. 精确调节音量 当你调节音量的同时按住Option-Shift键,将使你的音量调节单位变为原来的1/4。 2. 通过歌词搜索音乐 在Leopard下,Spotlight已经可以通过歌词来搜索音乐文件了. 3. 向Mail中添加附件 简单地通过拖拽,将文件拖到Mail图标上,Mail会自动将文件作为附件发送。 4. 在没有鼠标或触摸板的情况下工作 按Con转载 2012-06-18 14:50:03 · 1921 阅读 · 0 评论 -
深入浅出Cocoa之Core Data(1)- 框架详解
Core data 是 Cocoa 中处理数据,绑定数据的关键特性,其重要性不言而喻,但也比较复杂。Core Data 相关的类比较多,初学者往往不太容易弄懂。计划用三个教程来讲解这一部分:框架详解:讲解 Core data 框架,运作过程,设计的类;Core data应用程序示例:通过生成一个使用 Core data 的应用程序来讲解如何 在 XCode 4 中使用 Core转载 2012-08-08 17:32:15 · 1128 阅读 · 0 评论 -
深入浅出ObjC之消息
在入门级别的ObjC 教程中,我们常对从C++或Java 或其他面向对象语言转过来的程序员说,ObjC 中的方法调用(ObjC中的术语为消息)跟其他语言中的方法调用差不多,只是形式有些不同而已。譬如C++ 中的:Bird * aBird = new Bird();aBird->fly();在ObjC 中则如下:Bird * aBi转载 2012-08-08 21:42:02 · 643 阅读 · 0 评论 -
深入浅出Cocoa 之动态创建类
在前文《深入浅出Cocoa之类与对象》一文中,我已经详细介绍了ObjC中的 Class 与 Object 的概念,今天我们来如何在运行 时动态创建类。下面这个函数就是应用前面讲到的Class,MetaClass的概念,在运行时动态创建一个类。这个函数来自《Inside Mac OS X-The Objective-C Programming Language》。#import转载 2012-08-08 21:49:14 · 401 阅读 · 0 评论 -
深入浅出Cocoa之Core Data(3)- 使用绑定
前面讲解了 Core Data 的框架,并完全手动编写代码演示了 Core Data 的运作过程。下面我们来演示如何结合 XCode 强大的可视化编辑以及 Cocoa 键值编码,绑定机制来使用 Core Data。有了上面提到的哪些利器,在这个示例中,我们无需编写 NSManagedObjectModel 代码,也无需编写 NSManagedObjectContext,工程模版在背后为我们做了这些转载 2012-08-08 17:35:19 · 1209 阅读 · 0 评论 -
深入浅出Cocoa之Core Data(2)- 代码示例
前面详细讲解了 Core Data 的框架以及设计的类,下面我们来讲解一个完全手动编写代码使用这些类的示例,这个例子来自苹果官方示例。在这个例子里面,我们打算做这样一件事情:记录程序运行记录(时间与 process id),并保存到xml文件中。我们使用 Core Data 来做这个事情。示例代码下载:点击这里一,建立一个新的 Mac command-line tool app转载 2012-08-08 17:33:59 · 737 阅读 · 0 评论 -
深入浅出Cocoa之 Method Swizzling
在前文深入浅出Cocoa之消息中,我简要介绍了ObjC中消息的基本情况,包括SEL查找,缓存以及消息转发等。在本文中,我要介绍一个很有趣的技术,Method swizzling,通过这个手法,我们可以动态修改方法的实现,从而达到修改类行为的目的。当然,还有其他办法(如 ClassPosing,Category)也可以达到这个目的。ClassPosing是针对类级别的,是重量级的手法,Categ转载 2012-08-08 21:43:36 · 633 阅读 · 0 评论 -
Cocoa -- 添加和移除开机启动项
一 写plist到~/Library/LaunchAgents/ 目录下[plain] view plaincopy// 配置开机默认启动 -(void)installDaemon{ NSString* launchFolder = [NSString stringWithFormat:@"%@/Library/Launc转载 2012-08-15 16:21:35 · 1873 阅读 · 0 评论 -
IOS应用程序多语言本地化解决方案
最近要对一款游戏进行多语言本地化,在网上找了一些方案,加上自己的一点点想法整理出一套方案和大家分享!多语言在应用程序中一般有两种做法:一、程序中提供给用户自己选择的机会;二、根据当前用户当前移动设备的语言自动将我们的app切换对应语言。第一种做法比较简单完全靠自己的发挥了,这里主要讲第二种做法,主要分一下几点:1.本地化应用程序名称2.本地化字符串3.本地化图片4.转载 2012-08-17 16:41:17 · 698 阅读 · 0 评论 -
IOS学习笔记28—SQLite3第三方库之FMDB
SQLite是一种小型的轻量级的关系型数据库,在移动设备上使用是非常好的选择,无论是Android还是IOS,都内置了SQLite数据库,现在的版本都是SQLite3。在IOS中使用SQLite如果使用SDK提供的方法,特别麻烦也不利于理解和使用,在之前的http://blog.csdn.net/tangren03/article/details/7781930文章中就是使用IOS的SDK自带的S转载 2012-08-17 16:43:20 · 2047 阅读 · 0 评论 -
iOS多线程编程:线程同步总结
1:原子操作 - OSAtomic系列函数iOS平台下的原子操作函数都以OSAtomic开头,使用时需要包含头文件。不同线程如果通过原子操作函数对同一变量进行操作,可以保证一个线程的操作不会影响到其他线程内对此变量的操作,因为这些操作都是原子式的。因为原子操作只能对内置类型进行操作,所以原子操作能够同步的线程只能位于同一个进程的地址空间内。2:锁 - NSLock系列对象iOS平台转载 2012-07-13 15:49:58 · 1585 阅读 · 0 评论 -
iOS中的图像处理(一)——基础滤镜
最近在稍微做一些整理,翻起这部分的代码,发现是两个多月前的了。这里讨论的是基于RGBA模型下的图像处理,即将变换作用在每个像素上。代码是以UIImage的category形式存在的:[cpp] view plaincopytypedef struct _singleRGBA { unsigned char red;转载 2012-08-17 16:49:21 · 848 阅读 · 0 评论 -
iOS中的图像处理(二)——卷积运算
关于图像处理中的卷积运算,这里有两份简明扼要的介绍:文一,文二。其中,可能的一种卷积运算代码如下:[cpp] view plaincopy- (UIImage*)applyConvolution:(NSArray*)kernel { CGImageRef inImage = self.CGImage; CFD转载 2012-08-17 16:50:14 · 1189 阅读 · 0 评论 -
iOS中的图像处理(三)——混合运算
有时候,单独对一张图像进行处理是很难或者根本达不到我们想要的效果的。一个好的滤镜效果的诞生,往往要经过很多复杂步骤、细致微调、图片应用效果观察以及很多图层叠加。我在JSWidget上发现了一些常用混合算法,对应着一些常用混合模式,通过这些blend modes,我们可以指定两张图像如何混合。不过在此之前,我们需要纯颜色图像和渐变图像来做辅助:[cpp] view转载 2012-08-17 16:50:57 · 1515 阅读 · 0 评论 -
Cocoa 框架概述
Cocoa Framework简称Cocoa,它是Mac OS X上的快速应用程序开发(RAD, Rapid Application Development)框架,一个高度面向对象的(Object Oriented)开发框架。无论您是资深的Mac开发人员,还是即将踏入Mac开发世界的新新人类,Cocoa都是您开发应用程序的瑞士军刀、乐高积木,它是您构建Mac OS X应用程序最强大、最高效的工具。转载 2012-08-17 16:53:10 · 1109 阅读 · 0 评论 -
Windows下搭建Objective-C运行环境
最近打算学习关于iOS开发的相关知识,于是就要学习Objective-C了,买了几本参考书,开始自己学习这门新语言。不过感觉仅仅看书是不行 的,就打算边学边写点程序。不过众所周知,正规的开发环境Xcode只有在Mac上面才有,作为一名穷学生,暂时还买不起呀,桑心...于是只能到网上搜 集如何在windows下运行Objective-C程序,网上这方面的信息很多,不过有许多都有点过时,并且信息比转载 2012-08-17 16:59:09 · 2464 阅读 · 0 评论 -
Windows上使用Objective-C和Cocoa
最近进行iPhone的开发,使用了Cocoa,感觉Cocoa设计很精致,Objecitive-c语法也很简单和易用,因此想是否在Windows下也有可以运行的环境,这样可以方便使用,否则只在MAC上用,安装虚拟机或购买硬件都比较麻烦,搜索了一下资料,还真有这方面的工具。关于cocoa跨平台的问题http://stackoverflow.com/questions/2049099/cocoa转载 2012-08-17 17:24:58 · 1277 阅读 · 0 评论 -
iOS多线程编程指南(一)关于多线程编程
第一章 关于多线程编程多年来,计算机的最大性能主要受限于它的中心微处理器的速度。然而由于个别处理器已经开始达到它的瓶颈限制,芯片制造商开始转向多核设计,让计算机具有了同时执行多个任务的能力。尽管Mac OS X利用了这些核心优势,在任何时候可以执行系统相关的任务,但自己的应用程序也可以通过多线程方法利用这些优势。1.1 什么是多线程多线程是一个比较轻量级的方法来转载 2012-11-25 00:20:44 · 615 阅读 · 0 评论 -
iOS多线程编程指南(四)线程同步
第四章 线程同步应用程序里面多个线程的存在引发了多个执行线程安全访问资源的潜在问题。两个线程同时修改同一资源有可能以意想不到的方式互相干扰。比如,一个线程可能覆盖其他线程改动的地方,或让应用程序进入一个未知的潜在无效状态。如果你幸运的话,受损的资源可能会导致明显的性能问题或崩溃,这样比较容易跟踪并修复它。然而如果你不走运,资源受损可能导致微妙的错误,这些错误不会立即显现出来,而是很久转载 2012-11-25 00:23:12 · 844 阅读 · 0 评论 -
iOS多线程编程指南(附录)
本附录描述了Mac OS X和iOS上面一些关键的高级线程安全的框架。本附录的信息有可能会发生改变。Cocoa在Cocoa上面使用多线程的指南包括以下这些:不可改变的对象一般是线程安全的。一旦你创建了它们,你可以把这些对象在线程间安全的传递。另一方面,可变对象通常不是线程安全的。为了在多线程应用里面使用可变对象,应用必须适当的同步。关于更多信息,参阅”可变和不可变对比”。许多对转载 2012-11-25 00:24:04 · 694 阅读 · 0 评论 -
iOS多线程编程指南(二)线程管理
线程管理Mac OS X和iOS里面的每个进程都是有一个或多个线程构成,每个线程都代表一个代码的执行路径。每个应用程序启动时候都是一个线程,它执行程序的main函数。应用程序可以生成额外的线程,其中每个线程执行一个特定功能的代码。当应用程序生成一个新的线程的时候,该线程变成应用程序进程空间内的一个实体。每个线程都拥有它自己的执行堆栈,由内核调度独立的运行时间片。一个线程可以和其他线程或其他转载 2012-11-25 00:21:27 · 678 阅读 · 0 评论 -
NSWindow知多少?
如果你有其他的平台的經驗,來寫 Cocoa 應用程式,可能會發現 NSWindow 的行為跟你想得似乎不太一樣。※ NSWindow 屬於 View雖然現在的 GUI 應用程式的架構大都遵循 MVC 的設計典範,但是不同的 Framework 之間,那個部分屬於 View,那個部分又屬於 Contoller,規劃卻又不盡相同。在許多 Framework 的設計中,Window 被當成是转载 2012-12-09 21:34:02 · 4773 阅读 · 0 评论 -
理解KVC与KVO(键-值-编码与键-值-监看)
KVC(Key-Value Coding)和KVO(Key-Value Observing)可能是Objective-C中最强大最实用的功能之一。 下面的几个例子可以帮你更好的理解它们。 原文作者: Marcus Zarra 原文地址 当通过KVC调用对象时KVC(Key-Value Coding)和KVO(Key-Value Observing)可能是Objective-C中转载 2013-03-22 10:11:29 · 1305 阅读 · 0 评论 -
SCNetworkReachability 使用说明
在douban应用中,需要联网是必须的,看书发现,apple对于需要联网的应用要求很高,必须要进行联网检查,现在还任务在身,但是忙中抽闲,看了看SCNetworkReachability,用于进行联网检查的。下面记录一下。说明引用网上网友的,特此注明、、、一.基本知识在需要联网的iPhone程序中,我们首先需要检查网络的状态,如果不能连接网络则告诉用户程序不能使用的原因是没有网转载 2012-12-17 10:01:49 · 1041 阅读 · 0 评论 -
iPhone手机美化篇--字体更改及字体颜色修改
字体更改及字体颜色修改1、字体修改系统字体分为三种:系统中文字体、系统数字和英文字体、锁屏时候桌面显示的那个大时间字体。替换路径://System/Library/Fonts/Cache STHeiti-Light.ttc 和 STHeiti-Medium.ttc 代表的是中文字体_H_Helvetica.ttc 和 _H_HelveticaNeue转载 2013-08-19 10:40:45 · 4779 阅读 · 0 评论 -
iPhone开发关于UDID和UUID的一些理解
一.UDID(Unique Device Identifier) UDID是Unique Device Identifier的缩写,中文意思是设备唯一标识. 在很多需要限制一台设备一个账号的应用中经常会用到,在Symbian时代,我们是使用IMEI作为设备的唯一标识的,可惜的是Apple官方不允许开发者获得设备的IMEI. ios5 sdk中的获取方法: [UIDevi转载 2013-08-22 14:47:00 · 616 阅读 · 0 评论 -
游戏修改器原理
修改内存。通过一款第三方软件金山游侠2002便可以找到那些存储数据的地址,在我们玩游戏的过程中,通过单一变量法来分析某种属性的地址在哪里,比如说玩游戏的过程中生命全满然后保持其他不变将生命值减少然后观察地址中数据哪个发生了变化,便可确定生命值的地址,在制作修改器的时候只要动态的修改这个值使其一直保持全满的状态便可达到生命无限的效果,当然这只是雏形的思路,对于不同问题只要少加变形即可,有的游戏地址并转载 2013-08-26 16:10:52 · 1670 阅读 · 0 评论 -
Git命令小记
Git 进行代码版本管理时,有两种操作方式:图形界面GUI和 命令行Command图形界面GUI:有平台限制,目前仅支持Windows系统,Linux(Unix)都是命令行模式,并且图形界面每次提交好像Display显示文件数有限制(如:最大显示20000个文件)命令行Command:没有平台限制,Windows、Linux(Unix、Mac OS X)下都支持,通过 gid ad转载 2013-09-16 10:33:22 · 841 阅读 · 0 评论 -
iOS发送短信
iPhone开发,发送短信的方法:iPhone开发中,发送短信方法有二:1。URL Scheme,这样不可以设置短信内容[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"sms://10086"]];//打电话可以这样//[[UIApplication sharedApplication] openU转载 2013-09-17 16:43:50 · 719 阅读 · 0 评论 -
LOCALE DATA MARKUP LANGUAGE
Technical Reports Unicode Technical Standard #35LOCALE DATA MARKUP LANGUAGE (LDML)Version1.4AuthorsMark Davis (mark.davis@google.com)Date转载 2013-11-29 10:25:04 · 5045 阅读 · 0 评论 -
删除iOS工程中无用的资源文件
#!/bin/shPROJ=`find . -name '*.xib' -o -name '*.[mh]'`for png in `find . -name '*.png' ! -name '*@2x.png' ! -name 'Default*.png'`do name=`basename $png` if ! grep -q $name $PROJ; t原创 2013-12-10 11:09:02 · 2666 阅读 · 0 评论 -
iOS高效开发必备的10款Objective-C类库
有很多第三方的iOS开发的Objective-C类库可以用来简化很多不必要的工作.经过作者团队的慎重讨论,他们评选出了10款能够极大提高iOS开发效率的类库,根据原文作者的评价来看,基本上有了这10款工具,做iOS开发就真的跟泡Cocoa一样了。因为iOS SDK相对比较底层,所以开发者就得受累多做一些体力活。不过幸运的是,有很多第三方的类库可以用来简化转载 2014-01-03 08:52:03 · 800 阅读 · 0 评论 -
互联网思维还是思维互联网
摘要 : 从一个角度看,四月二十号是中国互联网诞生二十周年的日子,因为1994年的这一天,第一条向社会公众开放的互联网线路开通运行。与中国互联网五周年,十周年时不同,现今媒体上充斥着溢美之词,“互联网精神”或者“互联网思维”成为流行概念,而不是早年谈起互联网常见的“泡沫”,“炒作”,“低俗”或者“增值服务”了。以至于几个年轻人在中关村五道口开了个街头卖肉夹馍的买卖,因为生意兴隆,也被媒体奉为“互联转载 2014-05-06 09:24:26 · 623 阅读 · 0 评论 -
iOS面试题题库
1.写一个NSString类的实现+ (id)initWithCString:(c*****t char *)nullTerminatedCString encoding:(NSStringEncoding)encoding; + (id) stringWithCString: (c*****t char*)nullTerminatedCString转载 2014-03-12 15:15:26 · 1094 阅读 · 0 评论 -
插件就是生产力——那些不能错过的XCode插件们
古人云“工欲善其事必先利其器”,打造一个强大的开发环境,是立即提升自身战斗力的绝佳途径! 晾一下我的武器库,欢迎大家选用:) 全能搜索家CodePilot 2.0------------------------------------你要找的是文件?是文件夹?是代码?Never Mind,CMD+SHIFT+X调出CodePilot,输入任转载 2014-08-13 18:53:51 · 553 阅读 · 0 评论