COCOA® PROGRAMMING FOR MAC® OS X (1)- Get Start
这个是Mac OS App开发学习的第一篇,希望是一个好的开始。
一、为什么要学习Mac OS App开发
a)长时间做IOS开发,发现自己所做的局限在苹果的一些库上面,一些底层的API却是私有的,不利于自己对操作系统的理解,学习Mac OS 可以增加对底层系统的理解,OC也有更广泛的应用空间。
b) 平时使用Mac 发现上面的一些软件并不好用,如果自己写的话,相信可以写出更好的。
c) Mac OS开发和其它所有的开发工作都一样,除了编码层次上面,更希望提高自己宏观的软件设计能力、扩展眼界,提高解决问题的能力。
二、学习路线
a)为了提高效率,读完一章之后,记录所读内容。
b)手写对应代码
三、Get Start(第二章)
1、XIB 可以理解为XML Interface Builder 文件格式为XML的界面,NIB是XIB编译之后的二进制产物,NIB是NeXT Interface Builder。
2、效果


3、代码解释
@interface ViewController () @property (weak) IBOutlet NSTextField *randomLabel; @end @implementation ViewController -(void)awakeFromNib
{
[_randomLabel setObjectValue:[[NSDate date] description]];
} - (void)viewDidLoad {
[super viewDidLoad]; // Do any additional setup after loading the view.
} - (void)setRepresentedObject:(id)representedObject {
[super setRepresentedObject:representedObject]; // Update the view, if already loaded.
} - (IBAction)seedReset:(id)sender { // Seed the random number generator with the time
srandom((unsigned)time(NULL));
[_randomLabel setStringValue:@"Generator seeded"]; }
- (IBAction)genRandom:(id)sender { int generated;
generated = (int)(random() % ) + ;
NSLog(@"generated = %d", generated);
// Ask the text field to change what it is displaying
[_randomLabel setIntValue:generated];
} @end
两个按钮连接Action,TextField连接Outlet

代码在百度上,地址是:http://pan.baidu.com/s/1jG8DPhO
COCOA® PROGRAMMING FOR MAC® OS X (1)- Get Start的更多相关文章
- COCOA® PROGRAMMING FOR MAC® OS X (2)- Speak Line
1.NSControl是所有控件的父类,NSControl继承自NSView,因此NSControl是一个能够独立响应事件的NSView,每个NSControl含有一个Target和Action,当用 ...
- VMWare14 安装Mac OS系统(图解)
★ 背景 瞅了瞅自己干瘪的钱包,没忍心入手期待已久的 macPro,只好在虚拟机里玩一下 mac好了,等以后钱包傲气的时候再来个真实的. 安装环境: windows10 VMWare14.2 一.准备 ...
- 修改mac os分辨率(VMware)
转自:http://hi.baidu.com/hehonglei123/item/55591c17e7991d582a3e22a1 1. 在Mac系统中安装VMsvga2:VMsvga2_v1.2.3 ...
- [深入浅出Cocoa]详解键值观察(KVO)及其实现机理
一,前言 Objective-C 中的键(key)-值(value)观察(KVO)并不是什么新鲜事物,它来源于设计模式中的观察者模式,其基本思想就是: 一个目标对象管理所有依赖于它的观察者对象,并在它 ...
- 国内操作系统OS分析(上)
国内操作系统OS分析(上) 一.操作系统(OS)概述 操作系统(OS,Operating System),是管理.控制计算机软硬件资源的计算机程序,并为用户提供一个与系统交互的操作界面.OS是配置在计 ...
- Mac下利用(xcode)安装git
Mac下利用(xcode)安装git 一.AppStore 最安全途径:搜索下载Xcode,(需要AppleID). 其他:直接百度Xcode下载. 二.Xcode 打开Xcode-->Pref ...
- 《Programming Hive》读书笔记(一)Hadoop和hive环境搭建
<Programming Hive>读书笔记(一)Hadoop和Hive环境搭建 先把主要的技术和工具学好,才干更高效地思考和工作. Chapter 1.Int ...
- 《Programming Hive》读书笔记(两)Hive基础知识
<Programming Hive>读书笔记(两)Hive基础知识 :第一遍读是浏览.建立知识索引,由于有些知识不一定能用到,知道就好.感兴趣的部分能够多研究. 以后用的时候再具体看.并结 ...
- Parallel Programming for FPGAs 学习笔记(1)
Parallel Programming for FPGAs 学习笔记(1)
随机推荐
- solr常用命令
1.启动和关闭 a.启动和重启 启动和重启命令有很多选项让你运行在SolrCloud模式,使用示例配置,以hostname为开头或者非默认端口,指向本地ZooKeeper. bin/solr star ...
- ubuntu 使用apt-get install 安装php5.6--php7
使用ppa增加源:$ sudo apt-get install python-software-properties $ sudo add-apt-repository ppa:ondrej/php ...
- ios 状态码
9001 无网络 9002 url错误 9003 链接超时 9005 json解析错误 9503 503 error
- FZU 2238 Daxia & Wzc's problem
公式. $a×C_{m + i - 1}^m + d×C_{m + i - 1}^{m + 1}$. 推导过程可以看http://blog.csdn.net/queuelovestack/articl ...
- http请求的概念
我曾多次阅读http协议,但是理解依然不深,在此,再次阅读,再次理解.加深两点:解析头部信息\r\n,分解头部和主体用\r\n\r\n.之所以一次请求会看到网络里有很多请求,是因为浏览器代替访问了多次 ...
- 引用AForge.video.ffmpeg,打开时会报错:找不到指定的模块,需要把发行包第三方文件externals\ffmpeg\bin里的dll文件拷到windows的system32文件夹下。
引用AForge.video.ffmpeg,打开时会报错:找不到指定的模块,需要把发行包第三方文件externals\ffmpeg\bin里的dll文件拷到windows的system32文件夹下. ...
- js求两个数的最大公约数
1, lcm=function(m,n){//辗转相除法 求最大公约数 var u=+m,v=+n,t=v; while(v!=0){ t=u%v; u=v; v=t; } return u }2, ...
- openvpn环境搭建
以下为服务端.客户端下载安装包,在CentOS 6.5部署,也可以找到相关下载源 openvpn-2.2.2.tar.gz,openvpn-2.1.3-install.rar,(https://git ...
- mssql update from
update b set memo = a.name from a,b where a.id = b.id --mssql的update :from语法 2 --a表 b表 结构分别 id ,name ...
- textview设置不同字体大小
<style name="style0"> <item name="android:textSize">19dip</item&g ...