Xcode第二个Cocoa程序——交换图片

昨天编了第一个程序,有点小欣喜,今天差点不知道要编什么了,由于刚起步,还不会写那些复杂的计算器之类的程序,况且由于项目需要做视频源的自动切换之类的开发,所以今天先从最基础的做起,做一个包含两个图片框的程序,点击按钮之后能够交换两张图片的位置。

今天不贴代码了,编写方法跟昨天一样,这里要说的是图片的交换的方法。在Cocoa中,图片是NSImage类型的对象,而图片框中的图片对象则是NSImageView.image,所以可以新建一个NSImage对象,用于两幅图片交换时的暂存,姑且将其称为图C。所以整个交换过程如下:

NSImage *C;
C=image1.image;
image1.image = image2.image;
image2.image=C;


今天的编写非常顺利,一遍就编译通过了,运行结果也正常。

总结一下:

1、C++中新建对象需要new指令,且不带星号。而OC中是直接类名 *对象名这样的声明语法,看上去像是指针,应该是开辟了一个新的内存区。

2、今天的代码中为什么没有中括号?什么情况下要中括号?还没查到答案,先把问题扔在这儿。


另外补充一下应用退出方面的代码:

默认情况下,Xcode编译出来的App即便是关闭窗口之后也不会退出,如果希望在关闭最后一个窗口之后程序退出,常用的方法是使用applicationShouldTerminateAfterLastWindowClosed函数,只需在.m文件中添加这一函数:

- (BOOL)applicationShouldTerminateAfterLastWindowClosed:(NSApplication *)sender{
  return YES;
}

函数的意思是如果App最后一个窗口被关闭,是否退出App,返回YES则是关闭。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值