mac app代码布局

mac app代码布局,第1张

Xcode是开发Mac应用软件的利器!去苹果官网注册AppleID,登录开发者中心可以免费下载。(你也可以使用AppCode,一个第三方的付费的 Objective-C、Swift 的集成开发环境)

首次启动Xcode,选择Create a new Xcode project,(非首次运行Xcode,从菜单File-New->Project) 进入工程模版选择界面

选择OSX->Application->Cocoa Application

输入工程名称HelloWorld,开发语言选择Objective-C。

完成第一个工程的创建。

Xcode工作区

工具栏:提供便捷的功能按钮入口。包括运行工程,终止工程的最常用的功能按钮。最右边是3个不同方向的工作区开关按钮。点击可以打开或关闭不同方向的侧边栏区域。

工程结构导航区:位于最左边区域,可以方便的浏览工程所有文件

工程Target配置区:有6个分类的切换tab,管理工程各种配置。

xib结构导航区:点击切换不同的控件,方便inspector

Assistant Editor:管理代码和xib文件关联

inspector面板区:位于最右边,能方便的对当前选中的内容进行管理设置

控件工具箱:xib设计界面需要的各种控件库

1xib相关工作区

xib结构导航区,xib界面设计区,xib inspector面板区,控件工具箱,Assistant Editor, 进行xib界面设计时必须熟练使用

2inspector面板区

分成8个功能区,点击依次可以看到File,QuickHelp,Identity,Attributes,Size,Connections,Bindings,View Effects区。

Identity: 如果控件使用自定义的类,需要从Class下拉列表中选择

Attributes:用来对每个控件不同风格样式属性设置

Connections:用来控件响应的事件设置,控件对应的Outlet变量绑定

3Assistant Editor工作区

从工程结构导航区选择要编辑的xib文件,点击菜单View->Assistant Editor->Show Assistant Editor后,Assistant Editor区出现。右侧出现代码编辑面板,可以辅助完成控件的事件Action,Outlet变量跟代码的绑定。

工程结构

我们来看看一开始建立的HelloWorld这个工程的组成部分。

最左边是树形的导航目录,可以点击切换到不同的代码文件或资源目录进行统一管理。

目录树顶部根节点为工程名称,选中后双击可以修改工程名称。里面2级目录依次为HelloWorld,HelloWorldTests,Products所有的重量级的元素都在第一个HelloWorld目录里面。

子目录HelloWorld里面AppDeleage是应用的代理,应用启动后第一个界面都是由这个文件控制的。

AppDelegate

AppDelegateh

#import <Cocoa/Cocoah>

@interface AppDelegate : NSObject 

@end

AppDelegatem

#import “AppDelegateh”

@interface AppDelegate ()

@property (weak) IBOutlet NSWindow window;

@end

@implementation AppDelegate

(void)applicationDidFinishLaunching:(NSNotification )aNotification {

// Insert code here to initialize your application

}

(void)applicationWillTerminate:(NSNotification )aNotification {

// Insert code here to tear down your application

}

@end

在AppDelegateh 申明了应用代理AppDelegate类,它必须继承NSApplicationDelegate协议。

AppDelegatem 中实现了applicationDidFinishLaunching 和 applicationWillTerminate 2个代理方法。applicationDidFinishLaunching中可以做一些应用启动前的初始化处理。应用退出前可以在applicationWillTerminate中做一些全局性数据区/内存/资源的清理释放。

AppDelegatem 中 还在接口中声明了一个NSWindow window的XIB文件的IBOutlet输出变量。这样就可以在AppDelegate中直接 *** 作控制window。比如说设置window的背景颜色,title标题,位置,大小等。Xcode自动生成的代码中没有对window做任何控制,因此删除这个IBOutlet类型的window定义也是可以的。

Imagesxcassets

这个文件夹中对工程中使用的资源可以统一管理。其中Xcode会默认创建一个AppIcon的资源做为AppIcon是应用的安装图标。

可以依次看到5种尺寸大小的icon,每一种都需要1x 2x 两种规格大小的。比如16pt的 就需要将16x16 和32X32 像素的分别拖入到1x,2x的虚线位置框里面。但是在这里设置AppIcon非常不方便,你会看到当前的工作区中最多能显示2种规格的,其他3种根本看不到,即使你把工作去拉大最多只能看到第3种规格的一半。后面我们会说明怎么通过其他方式设置App的安装和启动后在系统上显示的应用图标。

可以点击底部+菜单按钮创建自己的Image Set,双击可以修改Image Set的名字。除了AppIcon以外,其他普通的图标资源都有1x 2x 3x 三种大小规格。

MainMenuxib

这个xib文件是很关键的一个程序资源文件。应用启动的界面,应用的菜单都定义在其中。当然你完全可以不使用这个文件做应用的初始化界面,完全可以使用纯代码控制,这个我们在后续的章节在详细说明。

点击HelloWorld窗口,最右边会出现控制面板,通过顶部的不同图标按钮来切换到不同功能控制区。

AutoLayout

Use Auto Layout选中表示使用自动布局机制来控制界面上元素的布局方式。相对于自动布局的另外一个方式就是坐标式布局,必须由代码显示的指定UI 元素之间的坐标位置关系。AutoLayout是苹果推荐的布局方式,我们后续的代码示例也基本上使用自动布局来说明。

每一种界面元素都是系统默认的标准类。如果想使用自定义的类,可以在输入你的自定义类名。这样xib文件被加载的时候会使用你定义的类中的初始化方法完成类加载。

属性

点击HelloWorld窗口,如上图切换到它的属性面板区。其中title字段可以修改window的标题。Title Bar 选中表示window是带有顶部标题,取消选中的话,窗口顶部的标题会消失。还有一个关键的Visible At Launch选中,表示应用启动时窗口自动显示。 如果你取消选中它,在运行Helloworld工程会发现,应用启动窗口不见了,只有顶部的菜单了。

可以通过代码让它再次出现,在AppDelegate的applicationDidFinishLaunching中调用makeKeyAndOrderFront方法

(void)applicationDidFinishLaunching:(NSNotification )aNotification {

// Insert code here to initialize your application

[selfwindow makeKeyAndOrderFront:self];

}

Size

这里可以控制Window的大小,最大(Max)最(小Min)的高度/宽度。设置了最大最小高度/宽度后会影响应用启动会通过鼠标去拉长拉高window的范围,这个自己修改可以验证下。

Connections

点击Xcode顶部View菜单中Assistant Editor选择Show Assistant Editor呼出类的定义文件AppDelegate。

任何想通过代码修改UI界面上元素的属性/行为动作时,都需要对xib中的UI界面元素命名。在这面板Referencing Outlets部分,点击New Referencing Outlet 右侧的小圆,拖动这个小圆到类实现代码文件AppDelegate中@interface定义区,在d出的窗口输入变量名称,完成界面UI元素绑定到Outlet类型的变量上。这样就可以使用这个变量完成对UI元素的各种控制。

Supporting Files

infoplist

工程基本信息plist文件。plist是apple的(key,type,value)形式描述的文件格式,经常用来描述配置信息。

Icon file:可以在这个字段输入icns格式的文件做为AppIcon图标。

创建一个文件夹,文件夹名字后缀为iconset,将1024x1024的一张大图通过工具软件或者手工缩放成如下图的各种尺寸加到这个文件夹Iconiconset。 拖动Iconiconset文件夹到工程最左边的目录中的HelloWorld目录中。在Icon file字段输入Icon即可。

Bundle identifier:应用的唯一标识字串。

Bundle versions string, short:应用对外发布的版本号。

Bundle version:应用内部版本号。提交到苹果等待审核中的版本,如果发现bug,可以撤下来重新提交,这时候Bundle versions string, short版本号保持不变,只需要对Bundle version版本号递增即可。

Main nib file base name:指定应用启动时加载的xib文件名。

Principal class:NSApplication

mainm

应用的入口。执行main函数,App运行时首先创建NSApplication实例加载xib文件,创建xib文件中定义的菜单/window实例。这个NSApplication就是Files Owner。NSApplication是是AppDelegate代理,因此会执行AppDelegate中的applicationDidFinishLaunching:方法来进行自定义的一些初始化。

target

定义了编译发布的单个产品需要的源文件,配置参数,依赖的库,部署系统版本环境,签名文件等。

General

除了可以通过plist文件修改应用的配置信息字段外,还可以选择target进入General面板 来修改plist文件中部分字段。

Application Category:可以选择一个应用的分类,提交Mac Appstore必须要有分类。

Deployment Info:Deployment Target设置应用支持的最低OSX系统版本。

Capabilites

这里我们重点关注下App Sandbox,Apple现在要求上架Mac AppStore的应用必须使用沙盒,所以发布到Mac商店的应用你必须选择打开。

如果你的应用要访问服务器的API接口,必须打开Outgoing Connections。

Hardware里面必须选择打开Printing,否则审核不通过。

File Accedd:如果你需要让用户选择访问本地的文件,User Selected File 中选择读/写权限。

Info

这里最上面部分跟直接查看infoplist 看到的内容一致

Document Types中可以设置应用跟文件的关联。比如你开发了一个应用,可以设置双击时自动运行你的应用,或者当鼠标右击菜单出现时里面可以出现你的应用。

Build Settings

如果使用了非系统的第3方framework或者自己开发的framework,Code Signing 里面Other Code Signing Flags 必须设置为 --deep,否则无法正常打包发布到Mac Appstore。

Build Phases

Link binary With Libraries:点击+添加依赖的系统库。

Mac上程序员必备的10大软件

1、IDEA

作为一个开发者,必须使用IDEA的,以前的elipse基本很少有用了,除非那些10多年的老员工对它有太大的感情了。

2、安装JDK11或者JDK8

我觉得应该安装JDK11吧,毕竟JDK14都出来这么久了。

3、Pycharm

Python开发工具,作为程序员也许你不是做Python开发的,但是偶尔还是用Python的。

4、Git

不用多说,当你在公司开发时候,一个项目是由很多人完成的,Git就是用来版本控制的,不仅要安装还要熟悉使用。

5、VMware Fusion和Navicat

Navicat是一个数据库管理工具,值得拥有,VMware是虚拟机软件。我现在还是学生,电脑配置也不太好,我一般使用阿里云服务器,然后连接IDEA工具,感觉太方便了,写完代码可以直接 *** 作虚拟机。

6、Visual Studio for Mac

这是一款微软推出的跨平台开发工具,我一般用来写前端的。

7、Xcode

Xcode是苹果产品的,适用于ios开发工具,同时支持c++,对于学习c的同学来说值得拥有,就算做c开发,也值得安装,因为真的太强大了。

8、Google浏览器

9、ClenMyMacX

系统杀毒软件及清理垃圾等等。

10、Typora

作为一个程序员,不管学习也好总是做笔记叭,它就是一款最好的Markown,非常方便,它的语法我之前也写过一篇文章,可以抽30分钟学习即可熟练基本用法。

11、MindNode

我个人比较喜欢使用这块来做思维导图

12、Processon

在线画图工具,也可以做思维导图等,非常不错。

13、Rdm

学习Redis使用可视化工具

14、PDF Expert

Mac最好用的一款PDF

15、Xnip

个人觉得挺好用的截图工具

16、Be Focused

类似番茄土豆,时间管理工具

17、eZip

压缩解压工具

18、百度网盘

19、uPic

图床,当你发表博客时候,每次粘贴有点太耗时间了,所以使用uPic配置Typora就完美了。

20、其他工具

qq、微信、OmniFocus项目管理工具、AE、PR视频剪辑等工具,看个人爱好下载使用,还有一些工具,暂时想不出了,但是上面所提到的我基本使用。

我的回答希望对你有帮助。

用了8年的Mac电脑,个人介绍下一些常用的APP,仅供参考。

1终端iterm2

作为一名程序员,少不了需要用命令行处理事情。

通过它可以处理本地电脑的事情,也可以连接远程服务器 *** 作。

补充:当然有些朋友喜欢zshell环境,也可以使用ohmyzsh,看个人实际需求吧,我还是喜欢bash环境。

2Alfred

Alfred 是一个用键盘通过热键、关键字、自定义插件来加快 *** 作效率的工具,它不但是搜索工具,还是快速启动工具,甚至能够 *** 作许多系统功能,扩充性极强。

比如程序员经常需要查看unix时间,用这个搜索框就能快速得到答案,按下回车键即可复制结果。

3DBeaver免费开源数据库

一个免费开源的软件,支持Oracle、MySQL等数据库,但是速度相比Navicat Premium慢,但是胜在免费。

4IntelliJ IDEA 开发工具IDE

写Java代码,怎么可能少了这个软件,吃饭干活的工具。

当然有些人也会用Visual Studio,用得人也不少,只要适合自己需求就可以了。

5Android Studio安卓开发

Android Studio是一个Android开发环境,基于IntelliJ IDEA。通过这个开发工具,可以开发手机APP。

6PyCharm

人生苦短,我学Python,通过这个工具,可以快速开发,但是唯一缺点就是耗内存。

7Sourcetree管理代码工具

Sourcetree是个免费的Git客户端工具,通过它可以进行可视化 *** 作,适合对Git有基础需求的人。但是有时候一些复杂的 *** 作,个人还是喜欢命令行处理。

8Markdown文档编写工具Typora

Typora支持跨平台,配合快捷键,轻松的写接口文档、数据库表结构等文档,也可以复制粘贴进来,十分便利。

同时支持导出PDF,Word多种格式。

9Sublime Text跨平台的文本编辑器

Sublime Text 是一款流行的代码编辑器软件,支持各类插件,可运行在Linux,Windows和Mac OS X。

我经常用它来编写一些简单的Python脚本,或者看Java代码进行Review。

10WireShark抓包软件

作为程序员,有时候要分析别人提供的网络数据包文件,安装这个跨平台软件,可以直观的分析网络数据包。

其他还有很多软件,这里就写前10个常用的软件推荐给你,希望能解答到你的问题。

作为一名前端,来推荐几个自己一直用的软件。

Visual Studio Code

vs code 是微软开发的良心编辑器,功能强大而且插件多,主要是启动速度还挺快,是原来的Eclipse开发团队的大佬来开发的,就是好用。

链接 >

在 Mac 上,可以通过以下几个步骤输入颜色代码到 PPT 中:

1 在 PPT 文本框内选择要设置颜色的文本;

2 打开 “字体” 菜单,选择 “颜色”;

3 在d出的调色板窗口上方的文本框中输入颜色代码(如 #FF4500),然后按回车键;

4 在文本框中查看,文本的颜色会自动改变为相应的颜色。

另外提供一种快速选择颜色的方法:

1 在 PPT 中选中需要修改颜色的文本;

2 在顶部菜单栏点击 "格式" -> "字体" -> "显示颜色";

3 在d出的调色板上找到 “颜色取样器” 按钮,并且单击它;

4 游标会变成一个放大镜,单击并拖动以将游标移到屏幕上已有的您想要匹配的颜色或对象的颜色。一旦找到颜色的区域,释放鼠标即可选择颜色。

希望对您有帮助。

你好,苹果笔记本可以用来编写代码,给你两个建议:第一:学会查看笔记本系统文件,这样能快速找到代码,第二:学会修改文件权限,在开发过程中默认文件夹或或文件是没有权限的,需要修改才能完成编写。

try 语句可为一组语句指定异常处理器和/或清理代码:

1子句指定一个或多个异常处理程序。 当 try 子句中没有发生异常时,没有任何异常处理程序会被执行。 当 try 子句中发生异常时,将启动对异常处理程序的搜索。 此搜索会逐一检查 except 子句直至找到与该异常相匹配的子句。 如果存在无表达式的 except 子句,它必须是最后一个;它将匹配任何异常。 对于带有表达式的 except 子句,该表达式会被求值,如果结果对象与发生的异常“兼容”则该子句将匹配该异常。 如果一个对象是异常对象所属的类或基类,或者是包含兼容该异常的项的元组则两者就是兼容的。

2如果没有 except 子句与异常相匹配,则会在周边代码和发起调用栈上继续搜索异常处理器。 

3如果在对 except 子句头中的表达式求值时引发了异常,则原来对处理器的搜索会被取消,并在周边代码和调用栈上启动对新异常的搜索(它会被视作是整个 try 语句所引发的异常)。

当找到一个匹配的 except 子句时,该异常将被赋值给该 except 子句在 as 关键字之后指定的目标,如果存在此关键字的话,并且该 except 子句体将被执行。 所有 except 子句都必须有可执行的子句体。 当到达子句体的末尾时,通常会转向整个 try 语句之后继续执行。 (这意味着如果对于同一异常存在有嵌套的两个处理器,而异常发生于内层处理器的 try 子句中,则外层处理器将不会处理该异常。)

4当使用 as 将目标赋值为一个异常时,它将在 except 子句结束时被清除。 这就相当于

这意味着异常必须赋值给一个不同的名称才能在 except 子句之后引用它。 异常会被清除是因为在附加了回溯信息的情况下,它们会形成堆栈帧的循环引用,使得所有局部变量保持存活直到发生下一次垃圾回收。

5函数的返回值是由最后被执行的 return 语句所决定的。 由于 finally 子句总是被执行,因此在 finally 子句中被执行的 return 语句总是最后被执行的:

6当找到一个匹配的 except 子句时,该异常将被赋值给该 except 子句在 as 关键字之后指定的目标,如果存在此关键字的话,并且该 except 子句体将被执行。 所有 except 子句都必须有可执行的子句体。 当到达子句体的末尾时,通常会转向整个 try 语句之后继续执行。 (这意味着如果对于同一异常存在有嵌套的两个处理器,而异常发生于内层处理器的 try 子句中,则外层处理器将不会处理该异常。)

当然是可以的。Mac系统本质上是一个Unix系统,Unix系统就是以C语言编写的。

目前Mac OS X的开发工具为Xcode,支持C和标准C++程序的编写。而Mac平台也有不少支持C语言编程的IDE,像NetBeans和Eclipse。

不过,Mac OS X目前默认没有C语言的编译器,你需要安装Xcode,Xcode包含了GCC编译器。

如果你只是用Mac来学习C语言,安装一个Xcode即可。Xcode的安装文件在系统盘的Optional文件夹里。

可以参考下面的Mac下终端常用命令

ls 列出目录内容(list)

cd(参数)改变目录(change directory)

su 切换用户(switch user)

pwd 打印当前目录(print work directory)

ps 进程状态(process status)

cd 上级目录

cd - 上一个访问的目录

cd(不加参数) 进root

rm 删除目录或文件 (remove)

mkdir 创建目录(make directory)

rmdir 删除目录(remove directory)

cp 复制 (copy)

mv 移动(move)

df 磁盘剩余(disk free)

du 磁盘使用(disk usage)

cat :连锁 把两个文件的内容合二为一到第三个文件 cat file1 file2>>file3(concatenate)

cat:显示文件内容(catch)

~代表root

echo 输出

nano 文本编辑 ctrl+o存储,ctrl+x退出(Nano's ANOther editor)

sh 执行shell脚本 (shell)

sudo 管理员(superuserdo)

以上就是关于mac app代码布局全部的内容,包括:mac app代码布局、程序员用Mac都有哪些必备的app、mac电脑怎么输颜色代码ppt等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/9350700.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-27
下一篇2023-04-27

发表评论

登录后才能评论

评论列表(0条)

    保存