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、代码解释
1 @interface ViewController () 2 3 @property (weak) IBOutlet NSTextField *randomLabel; 4 5 6 @end 7 8 @implementation ViewController 9 10 -(void)awakeFromNib 11 { 12 [_randomLabel setObjectValue:[[NSDate date] description]]; 13 } 14 15 - (void)viewDidLoad { 16 [super viewDidLoad]; 17 18 // Do any additional setup after loading the view. 19 } 20 21 - (void)setRepresentedObject:(id)representedObject { 22 [super setRepresentedObject:representedObject]; 23 24 // Update the view, if already loaded. 25 } 26 27 - (IBAction)seedReset:(id)sender { 28 29 30 // Seed the random number generator with the time 31 srandom((unsigned)time(NULL)); 32 [_randomLabel setStringValue:@"Generator seeded"]; 33 34 } 35 - (IBAction)genRandom:(id)sender { 36 37 int generated; 38 generated = (int)(random() % 100) + 1; 39 NSLog(@"generated = %d", generated); 40 // Ask the text field to change what it is displaying 41 [_randomLabel setIntValue:generated]; 42 } 43 44 @end
两个按钮连接Action,TextField连接Outlet
代码在百度上,地址是:http://pan.baidu.com/s/1jG8DPhO
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架