存档

文章标签 ‘Cocoa’

Cocoa网络编程总结之NSURLConnection

2014年4月29日 没有评论
CoreFoundation中提供了一个类NSURLConnection,用于处理用户的网络请求,NSURLConnection基本可以满足我们大多数的网络请求操作。
因为在项目中用得比较多,在此对NSURLConnection的使用做一番简洁的总结。

阅读全文…

分类: 白话Cocoa 标签: ,

根据类成员变量,自动生成property、synthesize跟description代码

2014年3月7日 没有评论

如果你要让代码既支持编译成32位程序(32位下面没有arc这个东东),同时又支持被编译成64位程序,同时对类的instance variable直接赋值时可以使用到内存管理,一般的做法是既声明instance variable ,同时又写上property、synthesize,因为编译成32位程序,编译器不会自动帮你生成synthesize,同时即便在32位程序里面声明了property、synthesize,而没有声明instancevariable ,程序也会报错;另外,如果你为了要方便debug类的内容,并且可以直接用 NSLog(@”%@”,object)输出你自定义的信息,你一般还需要自己写一个description函数,里面把类所有的变量值打印出来。而如果你的项目类特别多并且instance variable非常多,特别是MVC中Model这一层的类,那么你就要花费很多时间去写这些代码。凑巧,我当前的项目是要编译成32位的,于是为了解放自己的双手,写了这个程序。这个程序确实让我节省了不少时间,避免了许多重复无趣的工作。 阅读全文…

分类: 白话Cocoa 标签: ,

一些Cocoa控件的例子

2014年2月22日 没有评论

之前写了一些Cocoa控件的例子,现把代码放到git上。最近比较忙,有空再继续码
今天是2月22号,一个特别的日子。

1、三态button按钮

常态Image鼠标hover态Image鼠标press态Image
阅读全文…

分类: 白话Cocoa 标签:

浏览器开发第二篇,javascript与objective c的交互

2014年2月20日 没有评论

现在很多视频或者音乐的客户端,比如QQMusic For Mac。往往通过在客户端嵌入网页的方式来展现内容,并通过js调用客户端的一些功能,比如下载该视频或者播放音乐等。嵌入网页基本都是采用网页控件来展示网页。这时可以把客户端看成是包含了一个小型浏览器的客户端。用嵌入网页的方式,好处是显然的,一是网页可以轻易做出很炫丽的效果,当然客户端通过艰难的自绘也可以做出很华丽的效果,但开发时间跟开发难度跟网页比起来没得比。二是,网页可以随时更改,更改后可以实时更新到你发出去的每一个客户端版本,这一种扩展性在实战中是很重要的。以前参与过一个播放量超过3000万的视频客户端项目,一开始30%的区域用客户端来显示,而客户端的代码都是打包到每一个版本的,一开始项目会考虑一些兼容性问题,但实际上很难在第一版本全部都考虑到,导致新的的版本的一些更改无法更新到旧的版本。为了让扩展性更好,该项目演变到后面,改成只有10%区域采用客户端,其它区域全部用嵌入网页的方式,包括视频播放页,也是在一个窗口里面嵌入一个页面,该页面包含一个占满窗口内容并自适应窗口大小的flash。
阅读全文…

分类: 白话Cocoa 标签: ,

浏览器开发第一篇,NSWebView的基本介绍与使用

2014年2月20日 没有评论

WebKit是开源的Web浏览器引擎,苹果的Safari是基于这个框架来开发的。

下面用一个demo来说明一下主要的api接口,demo如下图所示。该demo已经包含了基本的功能,前进,后退,刷新,回车访问url,点击Go按钮访问url,在标题栏显示网站的title等

0b054a222f57a8227815c392dd682903

阅读全文…

分类: 白话Cocoa 标签: ,

本地化你的应用程序

2014年2月18日 没有评论

之前的项目考虑要做一个扩展预留,也就是既支持中文,以后可能支持英文。所以需要对本地化有一定了解,于是我做了一个demo,该demo同时支持中文跟英文。

在中文系统下界面是这样:

a173a19a817dda2f6e6d3e038c994b00

在英文系统下界面是这样:

163966a0cd9231dcc38f9e9407e3e855

 

阅读全文…

分类: 白话Cocoa 标签: ,

关于App Nap、Automatic Termination、Sudden Termination

2014年2月17日 没有评论

App Nap

2013年苹果发布的最新13英寸MacBook Pro Retina,可以说是目前最接近完美的Pro了,再加上免费的10.9操作系统,体验一如既往地好。
电池的续航能力对于笔记本电脑的便携性来说至关重要,今天苹果笔记本续航能力有了很大的提升。硬件方面得益于英特尔Haswell处理器,软件方面是得益于10.9操作系统采用了一种更加省电的技术,叫app nap。
阅读全文…

分类: 白话Cocoa 标签: ,

阻止OSX系统睡眠

2014年2月17日 没有评论
1、在OSX开发中,我们的程序怎么样获取系统睡眠或者唤醒的通知,并对程序做出一定的处理?
可以通过cocoa的API来获取,如下所示:
- (void) receiveSleepNote: (NSNotification*) note
{
    NSLog(@"receiveSleepNote: %@", [note name]);
}

- (void) receiveWakeNote: (NSNotification*) note
{
    NSLog(@"receiveWakeNote: %@", [note name]);
}
  阅读全文...
分类: 白话Cocoa 标签: