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)
随机推荐
- Word 文字转表格
今天工作的时候遇到一个问题,需要整理出一个工程下依赖的jar的名称和大小,并且按照大小排序,我在使用一个java程序打印出名称和大小之后,需要将这些文字整理到word文档表格中,刚开始是想一个个的拷进 ...
- C# 动态对象(dynamic)的用法
说到正确用法,那么首先应该指出一个错误用法: 常有人会拿var这个关键字来和dynamic做比较.实际上,var和dynamic完全是两个概念,根本不应该放在一起做比较.var实际上是编译期抛给我们的 ...
- java静态方法之线程安全问题
静态方法和实例方法的区别是静态方法只能引用静态变量,静态方法通过类名来调用,实例方法通过对象实例来调用 每个线程都有自己的线程栈,栈与线程同时创建,每一个虚拟机线程都有自己的程序计数器PC,在任何时刻 ...
- php stdClass类的用法
stdClass是PHP的一个基类,所有的类几乎都继承这个类,所以任何时候任何地方都可以被new,可以让这个变量成为一个object.同时,这个基类又有一个特殊的地方,就是没有方法.凡时用new st ...
- css基础和心得(二)
css中的某些样式是具有继承性的.它允许样式不仅应用于某个特定html标签元素 而且应用于其后代.如: p{color:red;} <p>dsffd<spans>sdfasd ...
- 为何没有.aspx.designer.cs文件?
designer.cs 是窗体设计器生成的代码文件,作用是对窗体上的控件做初始化工作(在函数InitializeComponent()中)VS2003以前都把这部分代码放到窗体的cs文件中,由于这部分 ...
- 使用automake等命令自动生成Makefile文件
参考:http://www.cnblogs.com/njucslzh/archive/2010/04/29/1723320.html
- 《Intel汇编第5版》 数组求和
一.LOOP指令 二.间接寻址 三.汇编数组求和 INCLUDE Irvine32.inc includelib Irvine32.lib includelib kernel32.lib includ ...
- VM10下Ubuntu无法安装vim的问题
今天在VM10下重装了Ubuntu14.10,安装vim时发现如下问题 谷歌了一下,终于找到一种方法解决. 终端下: sudo vi /etc/apt/source.list 该命令将用vi打开一个文 ...
- Ansible 变量
1. 变量来源 inventoryfile中定义 playbook中定义 include文件和角色中定义变量 系统facts ansible hostname -m setup local fact ...