精华内容
下载资源
问答
  • 要出现这个界面 只需在xcode界面进入windows 的下拉菜单Organizer

    在这里插入图片描述

    要出现这个界面 只需在xcode界面进入windows 的下拉菜单Organizer

    在这里插入图片描述

    展开全文
  • 类型:电子教程大小:1.1M语言:中文 评分:5.0标签:立即下载其实就是设置里面的快捷键变成了文字版,刚开始用Xcode是不是发现以前熟悉的开发环境的快捷键都不能用了?怎么快捷运行,停止,编辑等等、都不一样了。...

    922fe69b2a0eef13d768ae5a2cb15ac5.png

    类型:电子教程大小:1.1M语言:中文 评分:5.0

    标签:

    立即下载

    其实就是设置里面的快捷键变成了文字版,刚开始用Xcode是不是发现以前熟悉的开发环境的快捷键都不能用了?怎么快捷运行,停止,编辑等等、都不一样了。快速的掌握这些快捷键,能提供开发的效率。

    其实快捷键在Xcode的工具栏里都标注有,只是有的符号和你的键盘上的符号对应不起来罢了。希望对大家有帮助

    可能有些新手刚用mac,不知与windows键对应,现在说明一下,command相当于ms键盘的win键,option相当于alt,键值一样,系统偏好设置里面可以更改。

    一、关于运行调试

    1、运行,停止,都在工具栏的Product里。

    Command + R  运行。

    Command + .  停止

    3f1fa88adbd374fed3556aa64e5087c3.png

    2、F6单步调试、F7跳入,F8继续, 和Eclipse,VS类似

    feadca0669ced59fae8eceb18fb4c5a4.png

    二、导航

    这是导航里的快捷键

    b3ec1e72d6caeb84c91cf274db00b341.png

    到这里要解释一下,有的同学可能不知道里面的符号代表什么,那个花键大家都知道,是command键,其他的几个键那,怎么在键盘上找不到呢?不着急,看图:

    2f25ab2af80045ad08a9c56de0c5ba2f.png

    其实分别是咱们常用的option 、control、shift键。

    1、切换头文件和m.文件,很实用

    Command + control+ 上下箭头键

    2、go back,回退,干嘛用啊,就是回到你上次打开的页面。

    control+command+ 左箭头

    go forward 回到你前面打开的页面

    control+command+ 右箭头

    三、文件  File

    新建项目 command+shift+n

    新建文件 command+n

    新建空文件 command+control+n

    打开 command+o

    关闭窗口 command+w

    保存所有文件 command+option+s

    还原到保存时状态 command+u

    四、编辑代码

    1、代码缩进

    左缩进 command+[

    右缩进 command+]

    2、代码编辑

    control-F: 向右一个字符(forward)

    control-B: 向左一个字符(backward)

    control-P: 前一行(previous)

    control-N: 后一行(next)

    control-A: 去行首

    control-E: 到行尾(end)

    control-T: 调换光标两边的字符(transpose)

    control-D: 删除光标右侧字符(delete)

    control-K: 删除本行剩余的字符(kill)

    3、文档内搜索

    Command + F: 搜索

    Command + G: 搜索下一处

    Shift + Command + G: 搜索上一处

    xcode相关:

    关于xcode  可设

    偏好设置 command+,

    清空缓存 可设

    隐藏xcode command+h

    隐藏其它 command+option+h

    显示全部 可设

    退出xcode command+q

    文件相关:

    新建项目 command+shift+n

    新建文件 command+n

    新建空文件 command+control+n

    打开 command+o

    在新窗口中打开   command+option+o

    快速打开 command+shift+d / command+shift+alt+d (不知区别是什么)

    清空最近打开文件 可设

    清空最近打开项目 可设

    Get Info command+i

    显示检查器? command+option+i  (效果和Get Info一样,不知区别)

    关闭窗口 command+w

    关闭所有窗口 command+option+w

    关闭当前项目 command+control+w

    关闭当前文件 command+shift+w

    保存文件 command+s

    保存所有文件 command+option+s

    另存为 command+shift+s

    复本另存为 command+option+shift+s

    还原到保存时状态 command+u

    创建快照 command+control+s (保存文件快照,以后可进行对比修改情况)

    显示快照 可设 (File->Snapshots)

    打印 command+p

    编辑相关:

    撤销 command+z

    重复 command+shift+z

    剪切 command+x

    复制 command+c

    粘贴 command+v

    粘贴并匹配格式 command+option+shift+v

    删除 可设

    全选 command+a

    复制(Duplicate) 可设

    重构 command+shift+j (选中方法名)

    转换为objc2.0 可设

    ========================================

    字体

    显示字体 command+t

    粗体 可设

    斜体 可设

    下划线 可设

    变大字号 可设

    变小字号 可设

    Kern相关 可设

    Ligature相关 可设

    Baseline相关 可设

    显示颜色 可设

    复制样式 command+option+c

    粘贴样式 command+option+v

    =================文本====================

    左对齐 command+{

    右对齐 command+}

    居中 command+竖线 (不知竖线是哪个,没试出)

    Justify                       可设(功能未知)

    左缩进 command+[

    右缩进 command+]

    Show Ruler 可设(功能未知)

    Copy Ruler command+control+c

    Paste Ruler command+control+v

    Balance 可设 (第一次,选中语句,第二次,选中方法体)

    重置缩进 可设

    =================查找====================

    项目中查找 command+shift+F

    在项目中查找选定文本 可设

    查找 可设

    查找替换 command+control+f

    查找选定文本 可设

    查找下一个 command+g

    查找上一个 command+shift+g

    隐藏查找栏 可设

    替换 可设

    替换全部 可设

    替换并查找下一个 可设

    替换并查找上一个 可设

    用选择的查找 command+e

    用选择的替换 command+control+e

    跳到光标处 command+j

    跳到定义 可设

    =================排序====================

    按名 可设

    按类型 可设

    ========================================

    添加书签 command+d

    go to line command+l

    下一个填充 control+.

    填充列表 option+esc

    下一个占位符 control+/ (和tab相同)

    Edit All in Scope command+control+t (功能未知)

    ================插入宏=================

    c

    c++

    html

    java

    objective-c

    宏规范

    =================拼写====================

    显示拼写和语法 command+shift+;

    检查拼写 command+;

    输入时检查拼写 可设

    特殊符号 command+option+t

    视图相关:

    右上角详情搜索 command+option+f

    缩放编辑窗口 command+shift+e

    缩放编辑窗口满屏 command+option+shift+e

    折叠 command+control+左箭头

    屏开 command+control+右箭头

    屏开所有 control+u

    折叠方法 command+control+上箭头

    展开方法 command+control+下箭头

    折叠注释块 command+control+shift+上箭头

    展开注释块 command+control+shift+下箭头

    焦点跟随 command+option+control+f

    ==============信息提示====================

    隐藏问题 command+shift+h

    所有问题 可设

    仅错误和警告 可设

    仅错误 可设

    仅Analyzer结果 可设

    显示断点 可设

    ==================文本====================

    tab设置 可设

    是否自动换行显示 可设

    行结束 可设

    显示控制字符 command+shift+6

    显示空格 可设

    ==============智能分组====================

    所有文件  可设

    Targets 可设

    Exeutables 可设

    书签 command+shift+m

    Symbols 可设

    搜索结果 可设

    ===================布局====================

    显示导航栏 可设

    隐藏状态栏 可设

    显示收藏栏 可设

    显示页数控制 可设

    ===========================================

    前进 command+option+右箭头

    下一文件 command+option+shift+右箭头

    返回 command+option+左箭头

    上一文件 command+option+shift+左箭头

    切换头/源文件 command+option+上箭头

    组树中定位 command+option+shift+上箭头

    显示工具栏 可设

    自定义工具栏 可设

    ===================项目====================

    项目中标签切换 command+数字0

    类浏览 command+shift+c

    重命名项目 可设

    新组 command+option+n

    分组 command+option+g

    撤销分组 command+option+shift+g

    新建智能组 可设

    添加项目 command+option+a

    添加文件到项目 可设

    新Target 可设

    升级所有Targets 可设

    升级当前Target到ipad 可设

    ================New Build Phase====================

    没做测试不多介绍,只放出内容

    New Copy Files Build Phase

    New Run Script Build Phase

    New Copy Headers Build Phase

    New Copy Bundle Resources Build Phase

    New Compile Sources Build Phase

    New Link Binary With Libraries Build Phase

    New Build Java Resources Build Phase

    New Build Resource Manager Resources Build Phase

    ================================================

    新的自定义可执行文件 可设

    设置当前Target 为空 可设

    Set Active Architecture 为空 可设

    设置当前sdk 为空 可设

    设置Build配置 为空 可设

    Set Active Executable 为空 可设

    编辑项目设置 可设

    编辑当前Target command+option+e

    编辑当前可执行文件 command+option+x

    ===================Build========================

    Bulid Results command+shift+b

    Bulid command+b

    Build and Analyze command+shift+a

    Build and Archive 可设

    Build and Debug command+enter

    Bulid and Run 断点关 command+r

    Build and Debug 断点开 command+y

    Clean command+shift+k

    Clean All Targets 可设

    下个Build警告或错误 command+=

    前个Build警告或错误 command+shift+=

    Compile command+k

    Preprocess 可设

    Show Assembly Code 可设

    Touch 可设

    =======================代码导航及编辑================

    注释 command+/

    文件首行 command+上箭头

    文件末 command+下箭头

    行首 command+左箭头

    行末 command+右箭头

    上一单词 option+左箭头

    下一单词 option+右箭头

    上一拆分单词 control+左箭头

    下一拆分单词 control+右箭头

    中间显示光标位置 control+l

    方法组列表 control+2

    删除前一单词 option+delete

    删除此行光标前所有内容 control+delete

    跨行选取 command+option+鼠标拖动

    Run相关:

    Debug command+option+enter

    Run 断点关 command+option+r

    Debug 断点开 command+option+y

    Run with Performance Tool (Shark) 可设

    Stop command+shift+enter

    Attach to Process (Process ID) 可设

    Debugger command+option+y

    Mini Debugger command+control+左斜上箭头(不知咋按)

    Console command+shift+r

    Clear Console command+option+control+r

    ===================Show========================

    断点 command+option+b

    Expressions 可设

    Global Variables 可设

    Memory Browsers 可设

    Shared Libraries 可设

    ===================Debugger Display========================

    纵布局 可设

    横布局 可设

    Datatips 可设

    Step Controls 可设

    Source Only 可设

    Source And Disassembly 可设

    Disassembly 可设

    ===================Variables View========================

    User Data Formatters

    Show Type Column

    Print Description to Console

    Print Roots to Console

    Print Referers to Console

    Watch Variable

    View Value as

    Natural

    Hexadecimal

    OSType

    Decimal

    Unsigned Decimal

    Octal

    Binary

    Edit Value

    Edit Summary Format

    View in Memory Browser

    View in Window

    View in Expressions Window

    ===============================================

    停用断点 command+control+\

    停止objc例外 可设

    ================Manage Brakpoints=================

    当前行插入断点 command+\

    Add Symbolic Breakpoint 可设

    Add C++ Exception Breakpoint 可设

    启用当前行断点 command+option+\

    导入断点 可设

    导出断点 可设

    ===============================================

    Fix 可设

    Pause command+option+p

    Step Into command+shift+i

    Step Into Instruction command+option+shift+i

    Step Over command+shift+o

    Setp Over Instruction command+option+shift+o

    Setp Out command+shift+t

    Next Thread command+option+control+上箭头

    Previous Thread command+option+control+下箭头

    Sync with Debugger 可设

    Stop on Debugger()/DebugStr() 可设

    Enable Guard Malloc 可设

    Desing相关:

    ======================Class Model===================

    Quick Model

    Go to Declaration

    Go to Definition

    Go to Documentation

    Add Comment

    ======================Data Model===================

    Import

    Add Model Version

    Set Current Version

    Add Entity

    Add Attribute            command+control+a

    Add Fetched Property

    Add Relationship command+control+r

    Add Fetch Request

    Copy Method Declarations to Clipboard

    Copy Method Implementations to Clipboard

    Copy Obj-C 2.0 Method Declarations to Clipboard

    Copy Obj-C 2.0 Method Implementations to Clipboa

    ======================Mapping Model===================

    Update Source Model

    Update Destination Model

    Add Missing Property Mappings

    ===================================================

    Show Model Browser command+control+b

    Collapse Compartments

    Expand Compartments

    Roll Up Compartments

    Roll Down Compartments

    ======================Diagram=======================

    Bring to Front command+control+shift+f

    Send to Back command+control+shift+b

    Align Top Edges

    Align Bottom Edges

    Align Left Edges

    Align Right Edges

    Align Vertical Centers

    Align Horizontal Centers

    Make Centered Colum

    Make Centered Row

    Make Same Width

    Make Same Height

    Size to Fit

    Lock command+control+l

    Unlock command+shift+control+l

    Zoom in command+control++

    Zoom Out command+control+-

    Zoom to Fit command+control+=

    Turn Grid On

    Show Grid

    Show Page Breaks

    Force-Directed Layout command+control+g

    Hierarchical Layout command+control+h

    Window相关:

    最小化 command+m

    全部最小化 command+option+m

    Zoom

    Bring All to Front

    Defaults

    Organizer command+control+o

    Activity

    Help相关:

    开发文档 command+option+?

    快速帮助 command+control+?

    Xcode帮助 command+?

    Welcome to Xcode

    Xcode Quick Start

    Xcode Release Notes

    Find Documentation for Selected Text

    Open man Page

    最新补充:command+shift+d 打开头文件

    展开全文
  • 如何 OS X 的 Xcode 写 C 语言程序

    千次阅读 2014-12-15 22:26:07
    如果你在Windows习惯使用Visual C++ 或Dev-C++的话,到了Mac OS X可能会突然不知道要怎么写程式,尤其当你已经Visual C++的Debugger得很上手的了;如果这篇只是要教你怎么按Compile的话,那我就是来骗文章数的了...

    如果你在Windows习惯使用Visual C++ 或Dev-C++的话,到了Mac OS X可能会突然不知道要怎么写程式,尤其当你已经用Visual C++的Debugger用得很上手的了;如果这篇只是要教你怎么按Compile的话,那我就是来骗文章数的了,因此这篇的內容还包括怎么使用Xcode的Debugger 。第一次打开Xcode你会看到Welcome to Xcode的画面,做为第一次尝试,请先按下Create a new Xcode Project 。

    Welcome to Xcode 这个画面若以后不想看到,可以取消勾选Show this window when Xcode launches 来永久关闭,往后若要打开新方案,可以按下功能表的File → New → Project ... 。

    新增 C 语言方案

    刚刚说按下 「Create a new Xcode Project」,接著会跳出一个视窗,问你要开什么方案。对于一般 C 程式作业来说,它被归类在OS X的命令列工具里面,所以,在左侧OS X里面的Application ,然后在右边选Command Line Tool 。

    接著会要你输入方案名称,Organization Name 写你的名字就行, Company Identifier 我不知道是做什么的(我不是专门写 OS X 软件的),但並不会影响接下的的操作,所以像我这样填一个看起來像样的就行。最下面的Type可以选C 或 C++ ,还有其他 Objective-C-based Frameworks,这里我直接选 C 。

    最后按下Next ,会要你找一个地方放这个方案,你就找个地方放就行了。
    认识 Xcode IDE

    Xcode IDE的界面一打开跟 Visual Studio 、 Dev-C++ 都不一样,从 Windows 来的人可能回不太习惯,不过不要紧,只要认识个东西就好了。但在开始认识之前,请先到Xcode → Preferences... 里面的Behaviors ,选 Running → Starts,把Show debugger 打开,並且把Debug Area 打开,在 View → Debug Area → Show Debug Area 。这个预设沒开,但接下来会用到,非常重要,所以先打开。

    接下来来认识一下 Xcode Project 视窗的基本配置:
    请先认识:
    • 「执行」按钮(Run) ,长得像音乐软件的 Play ,按下去就是执行程序
    • 「停止」按钮 (Stop) ,长得像音乐软件的Stop ,在程序执行的時候可以強制停止
    • 「状态栏」 ,在最上方,会出现的状态像是编译或执行的成功与否
    • 「左側栏」 ,現在是显示档案列表(有其他列表可以切换)
    • 「主要工作区」 ,现在里面是看不懂的东西,等下会切换到程序码编辑
    • 「除错区」 ,让你方便对程式码除错,我会特別讲这一个区域。
    第一次执行行程式

    写程序除了撰写程序码本身,最重要的就是要跑程序来看结果。刚刚介紹了「执行」按钮,看起來可以按它來执行程式,那麼就按按看吧。按下去之後,你會看到狀態列的訊息有所改變,提示 Building 、 Build Success 、Running 等等,最後,你會在 Debug Area 的右邊看到這個:

    嗯,程式可以執行,可以看到輸出了。
    第一次修改程式

    但是到現在還沒看到程式碼,剛剛說了左側欄是切換到「檔案列表」,也就是說檔案藏在裡面,請找一下 main.c ,按一下可以打開,主要工作區會變成程式碼:

    這個程式碼你應該很熟悉,就是普通的 C 語言 Hello World 而已。
    自動完成

         接下來請試試看修改程式。假如我想要改成印出 10 次 Hello World 的內容,想必你會在 // insert code here 這邊加 for loop:
    [color=#2aa198 !important]int [color=#268bd2 !important]i;[color=#cb4b16 !important]for ([color=#268bd2 !important]i= [color=#2aa198 !important]0; [color=#268bd2 !important]i < [color=#2aa198 !important]10; [color=#268bd2 !important]i++) {  [color=#268bd2 !important]printf([color=#2aa198 !important]"Hello, World[color=#dc322f !important]\n[color=#2aa198 !important]");}
    你打到一半的時候應該會出現這樣子的東西:



    這個功能叫做 「自動完成」 (Auto Complete) ,是 Xcode 好用的功能之一,如果你從 Visual Studio 過來應該不陌生,就是打到一半,Xcode 會自動提示你可以寫什麼程式碼,並且按下Tab 就可以自動跳到圓框來打字。你可以試試看,按 Tab 來切換,然後按 Enter 來確認。自動完成其實無所不在,除了可以自動展開 Syntax 之外,還可以展開變數名稱、function 名稱(統稱 identifiers)、提示有哪些 .h 檔可以 include 、提示 struct 的結構。展開 identifers 的例子像是,你想要用 fputs ,打 fp ,它會自動出現所有 fp 開頭的函式(因為有 include stdio.h ,所以抓得到),按鍵盤的上下鍵可以選擇,除此之外,還會在右側欄出現簡單的說明。如果你按 More 的話,還會出現完整的說明檔,這樣子就不需要上網查文件了。
    再提一個秘訣,想要手動 trigger 自動完成的話,可以按 Esc 。例如我先宣告了 var1, var2, var3 ,想要對其中一個指定某值,打到一半只有 var 就跑到別行,再回來的話,可以在 var 的後方按 Esc ,就會跳出自動完成:
    附帶一提,大小寫隨便打,它也認得出來。你可以隨便試,你應該會感受到「他好像很聰明的樣子」。
    自動錯誤提示
          我改好了,結果 oops ,好像忘記什麼東西?
    程式寫錯,不用到編譯才知道, Xcode 會一直自動編譯,檢查你程式碼是否可以編譯通過,並且自動 標示錯誤 ,如果你按下行號旁邊的紅色驚嘆號,它會告訴你錯在哪:
    對,忘記说了,補起來之後,這個錯誤訊息就會消失了。錯誤訊息除了程式寫錯無法編譯之外,還會有編譯器來的警告,例如有個變數宣告了但沒使用:
    如何,很方便吧?
    執行程式與輸入資料
         現在再來 Run 一遍,這次不要動滑鼠了,請按鍵盤上的 Command + R ,一樣會跑「執行」:
    如果是從 Visual Studio 或 Dev-C++ 過來的,你可能會覺得奇怪,為什麼不是熟悉的黑底白字畫面?其實 Xcode 在執行的時候,並不是開一個新的終端機程式,而是直接在自己的 Console 裡面輸入輸出,我猜測這理由是因為 Xcode 是以 GUI 應用程式為主要導向,所以 Console 簡略就好,並且因為 OS X 是一種 UNIX 作業系統,天生就有輸入輸出轉向,可以直接接到 Xcode 裡面也很自然(這個在系統程式的課會教)。話說回來 Eclipse 好像也是長這樣。不過,預設它並不會在執行的時候自動打開 Console,你必須手動開啟,所以一開始我才會請你先打開 Debug Area 。接著來試著執行一個具備輸入輸出的簡單程式,輸入整數 n ,輸出 n 次 "Hello, World!\n"。
    [color=#2aa198 !important]int [color=#268bd2 !important]main([color=#2aa198 !important]int [color=#268bd2 !important]argc, [color=#cb4b16 !important]const [color=#2aa198 !important]char * [color=#268bd2 !important]argv[]){  [color=#2aa198 !important]int [color=#268bd2 !important]i, [color=#268bd2 !important]n;    [color=#cb4b16 !important]if ([color=#268bd2 !important]fscanf([color=#268bd2 !important]stdin, [color=#2aa198 !important]"%d", &[color=#268bd2 !important]n) == [color=#2aa198 !important]1) {    [color=#cb4b16 !important]for ([color=#268bd2 !important]i = [color=#2aa198 !important]0; [color=#268bd2 !important]i < [color=#268bd2 !important]n; [color=#268bd2 !important]i++) {      [color=#268bd2 !important]printf([color=#2aa198 !important]"Hello, World![color=#dc322f !important]\n[color=#2aa198 !important]");    }  }    [color=#cb4b16 !important]return [color=#2aa198 !important]0;}
    按下 Run ,然後在 Console 裡面輸入 3 ,它就會輸入整數 n = 3 ,並且印出 3 次 Hello, World! ,跟我們想要的行為一致。
    如果你執行到一半想把程式關掉,只要按下 Stop 就行了。
    使用 Debugger

    跟 Visual Studio 一樣,專業的 IDE 一定要有完美的 Debugger 整合,而 Xcode 當然也有,這對於我這種不熟悉命令列式 debugging 的人來說是相當棒的功能。 一般的命令列 debugger 要自己下斷點(告訴它在第幾行)、自己下指令,但有了 Xcode ,你只要動滑鼠就行了。以下以一個簡單的小程式做範例:


    [color=#93a1a1 !important]#include <stdio.h>[color=#93a1a1 !important]/* global variables */[color=#2aa198 !important]int [color=#268bd2 !important]i_am_a_global_variable = [color=#2aa198 !important]999;[color=#93a1a1 !important]/* functions */[color=#2aa198 !important]void [color=#268bd2 !important]another_function([color=#2aa198 !important]int* [color=#268bd2 !important]a){  (*[color=#268bd2 !important]a)++;  [color=#268bd2 !important]i_am_a_global_variable += *[color=#268bd2 !important]a;  [color=#cb4b16 !important]return;}[color=#2aa198 !important]int [color=#268bd2 !important]some_function ([color=#2aa198 !important]int [color=#268bd2 !important]a){  [color=#2aa198 !important]int [color=#268bd2 !important]some_local_var =[color=#268bd2 !important]a;  [color=#268bd2 !important]printf([color=#2aa198 !important]"some_local_var has been changed to %d[color=#dc322f !important]\n[color=#2aa198 !important]", [color=#268bd2 !important]some_local_var);  [color=#268bd2 !important]another_function(&[color=#268bd2 !important]some_local_var);  [color=#268bd2 !important]printf([color=#2aa198 !important]"some_local_var has been changed to %d[color=#dc322f !important]\n[color=#2aa198 !important]", [color=#268bd2 !important]some_local_var);  [color=#cb4b16 !important]return [color=#2aa198 !important]0;}[color=#2aa198 !important]int [color=#268bd2 !important]main ([color=#2aa198 !important]void){  [color=#2aa198 !important]int [color=#268bd2 !important]number;  [color=#268bd2 !important]printf ([color=#2aa198 !important]"enter number:");  [color=#cb4b16 !important]if ([color=#268bd2 !important]fscanf([color=#268bd2 !important]stdin, [color=#2aa198 !important]"%d", &[color=#268bd2 !important]number) == [color=#2aa198 !important]1) {    [color=#268bd2 !important]some_function([color=#268bd2 !important]number);    [color=#268bd2 !important]printf([color=#2aa198 !important]"You’ve entered %d[color=#dc322f !important]\n[color=#2aa198 !important]", [color=#268bd2 !important]number);  } [color=#cb4b16 !important]else {    [color=#268bd2 !important]printf([color=#2aa198 !important]"No number entered. Bye.[color=#dc322f !important]\n[color=#2aa198 !important]");  }    [color=#cb4b16 !important]return [color=#2aa198 !important]0;}
    斷點的定義是 「在執行這一行之前先回到 debugger」 ,也就是說如果你把斷點設在第 12 行,那麼它會在執行第 12 行之前暫停程式執行,進入 debugger。設斷點的方法很簡單,在行號上 按一下滑鼠左鍵 就行了。斷點可以移動,用滑鼠拖曳便是。斷點可以暫時取消,即是點一下讓它變成淺藍色。斷點可以刪除,只要把它 拖曳出行號區 就行了,就像 Dock 一樣直觀操作。現在我把斷點設在 some_function(number) 這一行。
    然後執行程式,先在 Console 裡輸入數字,再按下 Enter 輸入到程式裡。接著,程式會立刻暫停,你會看到程式碼裡面,標示了停在哪一行,而 Debug Area 左側還會出現目前存在的區域變數。Debug Area 有個工具列,上面有幾個重要的按鈕,用途如圖:
    這裡要先介紹通常 Debugger 會有的指令:
    • Continue (繼續) :離開 Debugger 繼續執行程式,可能會中斷在下一個斷點
    • Step Over (跳過) :跳過(執行)這一行,然後停在下一行
    • Step Into (跳入) :目前在的這一行有函式,跳進去
    • Step Out (跳出) :目前在的這一行是在某個函式裡面,跳出去到呼叫函式的程式(也就是 return 完畢)
    熟悉這四個指令,你就可以在程式碼之間遊走了。接著我再多設兩個斷點,分別在 i_am_a_global_variable += 和 another_function(&some_local_var); 這兩行(不必先把程式停下來,直接按滑鼠左鍵加斷點)。然後按下 Continue ,當它執行到 another_function 這行之前,就會再停下來進入 Debugger 。你會發現左邊也有變化,因為進入了 Function Call 的 Stack 。你可以在不同的 Stack 之間切換,左邊也會出現不同的 Local Variables,切換的方式是按下 Debugger 導覽列的 function name。
    接著再按一下 Continue,會跑進 another_function 裡面,你會發現在左邊窗格會顯示傳進去的指標的記憶體位址和指標所指的記憶體內容,以及,因為這個 function 有參照 (reference) 到全域變數 i_am_a_global_variable ,所以 Xcode 也會自動列出:
    再來一個小範例,這次是陣列:
    [color=#93a1a1 !important]#include <stdio.h>[color=#2aa198 !important]int [color=#268bd2 !important]main([color=#2aa198 !important]void){  [color=#2aa198 !important]int [color=#268bd2 !important]array[] ={[color=#2aa198 !important]1, [color=#2aa198 !important]2, [color=#2aa198 !important]3, [color=#2aa198 !important]4, [color=#2aa198 !important]5};  [color=#2aa198 !important]int [color=#268bd2 !important]i;  [color=#cb4b16 !important]for ([color=#268bd2 !important]i = [color=#2aa198 !important]0; [color=#268bd2 !important]i < [color=#2aa198 !important]5; [color=#268bd2 !important]i++) {    [color=#268bd2 !important]printf ([color=#2aa198 !important]"array #%d is %d[color=#dc322f !important]\n[color=#2aa198 !important]", [color=#268bd2 !important]i, [color=#268bd2 !important]array[[color=#268bd2 !important]i]);  }  [color=#cb4b16 !important]return [color=#2aa198 !important]0;}
    斷點設在 printf 那一行,然後執行,你會發現它把陣列的內容也列出來了(按 ▼ 可以展開):
    那如果是動態產生的陣列呢?我們知道 malloccallocrealloc 傳回來的是它所分配到的記憶體的開頭位址,那 Xcode 會不會很聰明的把它當作陣列呢?我們把上面這段程式修改成 calloc 的方式:
    [color=#93a1a1 !important]#include <stdio.h>[color=#93a1a1 !important]#include <stdlib.h>[color=#2aa198 !important]int [color=#268bd2 !important]main([color=#2aa198 !important]void){  [color=#2aa198 !important]int *[color=#268bd2 !important]array = ([color=#2aa198 !important]int *) [color=#268bd2 !important]calloc([color=#2aa198 !important]5, [color=#cb4b16 !important]sizeof([color=#2aa198 !important]int));  [color=#2aa198 !important]int [color=#268bd2 !important]i;  [color=#cb4b16 !important]for ([color=#268bd2 !important]i = [color=#2aa198 !important]0; [color=#268bd2 !important]i < [color=#2aa198 !important]5; [color=#268bd2 !important]i++) {    [color=#268bd2 !important]array[[color=#268bd2 !important]i] = [color=#268bd2 !important]i + [color=#2aa198 !important]1;    [color=#268bd2 !important]printf ([color=#2aa198 !important]"array #%d is %d[color=#dc322f !important]\n[color=#2aa198 !important]", [color=#268bd2 !important]i, [color=#268bd2 !important]array[[color=#268bd2 !important]i]);  }  [color=#268bd2 !important]free([color=#268bd2 !important]array);  [color=#cb4b16 !important]return [color=#2aa198 !important]0;}
    把斷點設在 free(array) 那一行,然後執行,你會發現 Debugger 並不會列出 array 的內容,而是只有指標:
    從上圖我們知道兩件事:array 宣告成 int *,所以 Xcode 抓的是它的記憶體位址。它用 int 去解讀 *array 指向的記憶體內容,所以得到的是首項的值 1,因為 array 的內容是 1, 2, 3, 4, 5。那如果要看 array[1] 或其他內容的話怎麼辦呢?這時候就要用 Expression Monitor 了,可以在這個 variable 列表裡面按右鍵選 Add Expresssion... ,然後輸入 array[1] 就行了。另外,既然是 Expression ,當然可以輸入運算式,例如 array[1] + 2 。

    Debugger 我會用的功能大概就這樣... 不過我覺得這樣也就夠了,用這些就足以抓出邏輯上的錯誤。
    字型設定

            我們每天看 code 的人,總是希望它們要長得順眼,才看得下去。Xcode 當然也可以調整字型。進入 Xcode 的 Preferences 設定,在 Fonts & Colors 分頁裡面。不過每個項目是分開的,要一次改的話,是先按 Command + A 全選,然後按下 T 那個 icon ,就可以一次改全部了。附帶一提, Console 的字型是在同一個畫面的「Console」分頁裡面。

    展开全文
  • 其实就是设置里面的快捷键变成了文字版,刚开始用Xcode是不是发现以前熟悉的开发环境的快捷键都不能用了?怎么快捷运行,停止,编辑等等、都不一样了。快速的掌握这些快捷键,能提供开发的效率。 其实快捷键在Xcode...

    其实就是设置里面的快捷键变成了文字版,刚开始用Xcode是不是发现以前熟悉的开发环境的快捷键都不能用了?怎么快捷运行,停止,编辑等等、都不一样了。快速的掌握这些快捷键,能提供开发的效率。 其实快捷键在Xcode的工具栏里都标注有,只是有的符号和你的键盘上的符号对应不起来罢了。希望对大家有帮助

    可能有些新手刚用mac,不知与windows键对应,现在说明一下,command相当于ms键盘的win键,option相当于alt,键值一样,系统偏好设置里面可以更改。

    一、关于运行调试

    1、运行,停止,都在工具栏的Product里。

    Command + R  运行。

    Command + .  停止

    2、F6单步调试、F7跳入,F8继续, 和Eclipse,VS类似

    二、导航

    这是导航里的快捷键

    到这里要解释一下,有的同学可能不知道里面的符号代表什么,那个花键大家都知道,是command键,其他的几个键那,怎么在键盘上找不到呢?不着急,看图:

    其实分别是咱们常用的option 、control、shift键。

    1、切换头文件和m.文件,很实用

    Command + control+ 上下箭头键

    2、go back,回退,干嘛用啊,就是回到你上次打开的页面。

    control+command+ 左箭头

    go forward 回到你前面打开的页面

    control+command+ 右箭头

    三、文件  File

    新建项目 command+shift+n 新建文件 command+n 新建空文件 command+control+n 打开 command+o 关闭窗口 command+w 保存所有文件 command+option+s 还原到保存时状态 command+u

    四、编辑代码

    1、代码缩进

    左缩进 command+[ 右缩进 command+]

    2、代码编辑

    control-F: 向右一个字符(forward) control-B: 向左一个字符(backward) control-P: 前一行(previous) control-N: 后一行(next) control-A: 去行首 control-E: 到行尾(end) control-T: 调换光标两边的字符(transpose) control-D: 删除光标右侧字符(delete) control-K: 删除本行剩余的字符(kill)

    3、文档内搜索

    Command + F: 搜索

    Command + G: 搜索下一处 Shift + Command + G: 搜索上一处

    xcode相关: 关于xcode  可设 偏好设置 command+, 清空缓存 可设 隐藏xcode command+h 隐藏其它 command+option+h 显示全部 可设 退出xcode command+q

    文件相关: 新建项目 command+shift+n 新建文件 command+n 新建空文件 command+control+n 打开 command+o 在新窗口中打开   command+option+o 快速打开 command+shift+d / command+shift+alt+d (不知区别是什么) 清空最近打开文件 可设 清空最近打开项目 可设 Get Info command+i 显示检查器? command+option+i  (效果和Get Info一样,不知区别) 关闭窗口 command+w 关闭所有窗口 command+option+w 关闭当前项目 command+control+w 关闭当前文件 command+shift+w 保存文件 command+s 保存所有文件 command+option+s 另存为 command+shift+s 复本另存为 command+option+shift+s 还原到保存时状态 command+u 创建快照 command+control+s (保存文件快照,以后可进行对比修改情况) 显示快照 可设 (File->Snapshots) 打印 command+p 编辑相关: 撤销 command+z 重复 command+shift+z 剪切 command+x 复制 command+c 粘贴 command+v 粘贴并匹配格式 command+option+shift+v 删除 可设 全选 command+a 复制(Duplicate) 可设 重构 command+shift+j (选中方法名) 转换为objc2.0 可设

    ======================================== 字体

    显示字体 command+t 粗体 可设 斜体 可设 下划线 可设 变大字号 可设 变小字号 可设 Kern相关 可设 Ligature相关 可设 Baseline相关 可设 显示颜色 可设 复制样式 command+option+c 粘贴样式 command+option+v

    =================文本====================

    左对齐 command+{ 右对齐 command+} 居中 command+竖线 (不知竖线是哪个,没试出) Justify                       可设(功能未知) 左缩进 command+[ 右缩进 command+] Show Ruler 可设(功能未知) Copy Ruler command+control+c Paste Ruler command+control+v Balance 可设 (第一次,选中语句,第二次,选中方法体) 重置缩进 可设

    =================查找==================== 

    项目中查找 command+shift+F 在项目中查找选定文本 可设 查找 可设 查找替换 command+control+f 查找选定文本 可设 查找下一个 command+g 查找上一个 command+shift+g 隐藏查找栏 可设 替换 可设 替换全部 可设 替换并查找下一个 可设 替换并查找上一个 可设 用选择的查找 command+e 用选择的替换 command+control+e 跳到光标处 command+j 跳到定义 可设

    =================排序====================

    按名 可设 按类型 可设

    ========================================

    添加书签 command+d go to line command+l 下一个填充 control+.  填充列表 option+esc 下一个占位符 control+/ (和tab相同) Edit All in Scope command+control+t (功能未知)

    ================插入宏=================

    c c++ html java objective-c 宏规范

    =================拼写====================

    显示拼写和语法 command+shift+; 检查拼写 command+; 输入时检查拼写 可设 特殊符号 command+option+t 视图相关: 右上角详情搜索 command+option+f 缩放编辑窗口 command+shift+e 缩放编辑窗口满屏 command+option+shift+e 折叠 command+control+左箭头 屏开 command+control+右箭头 屏开所有 control+u 折叠方法 command+control+上箭头 展开方法 command+control+下箭头 折叠注释块 command+control+shift+上箭头 展开注释块 command+control+shift+下箭头 焦点跟随 command+option+control+f

    ==============信息提示====================

    隐藏问题 command+shift+h 所有问题 可设 仅错误和警告 可设 仅错误 可设 仅Analyzer结果 可设 显示断点 可设

    ==================文本====================

    tab设置 可设 是否自动换行显示 可设 行结束 可设 显示控制字符 command+shift+6 显示空格 可设

    ==============智能分组====================

    所有文件  可设 Targets 可设 Exeutables 可设 书签 command+shift+m Symbols 可设 搜索结果 可设

    ===================布局====================

    显示导航栏 可设 隐藏状态栏 可设 显示收藏栏 可设 显示页数控制 可设

    ===========================================

    前进 command+option+右箭头 下一文件 command+option+shift+右箭头 返回 command+option+左箭头 上一文件 command+option+shift+左箭头 切换头/源文件 command+option+上箭头 组树中定位 command+option+shift+上箭头 显示工具栏 可设 自定义工具栏 可设  

    ===================项目====================

    项目中标签切换 command+数字0 类浏览 command+shift+c 重命名项目 可设 新组 command+option+n 分组 command+option+g 撤销分组 command+option+shift+g 新建智能组 可设 添加项目 command+option+a 添加文件到项目 可设 新Target 可设 升级所有Targets 可设 升级当前Target到ipad 可设

    ================New Build Phase====================

    没做测试不多介绍,只放出内容 New Copy Files Build Phase New Run Script Build Phase New Copy Headers Build Phase New Copy Bundle Resources Build Phase New Compile Sources Build Phase New Link Binary With Libraries Build Phase New Build Java Resources Build Phase New Build Resource Manager Resources Build Phase

    ================================================

    新的自定义可执行文件 可设 设置当前Target 为空 可设 Set Active Architecture 为空 可设 设置当前sdk 为空 可设 设置Build配置 为空 可设 Set Active Executable 为空 可设 编辑项目设置 可设 编辑当前Target command+option+e 编辑当前可执行文件 command+option+x

    ===================Build========================

    Bulid Results command+shift+b Bulid command+b Build and Analyze command+shift+a Build and Archive 可设 Build and Debug command+enter Bulid and Run 断点关 command+r Build and Debug 断点开 command+y Clean command+shift+k Clean All Targets 可设 下个Build警告或错误 command+= 前个Build警告或错误 command+shift+= Compile command+k Preprocess 可设 Show Assembly Code 可设 Touch 可设

    =======================代码导航及编辑================

    注释 command+/ 文件首行 command+上箭头 文件末 command+下箭头 行首 command+左箭头 行末 command+右箭头 上一单词 option+左箭头 下一单词 option+右箭头 上一拆分单词 control+左箭头 下一拆分单词 control+右箭头 中间显示光标位置 control+l 方法组列表 control+2 删除前一单词 option+delete 删除此行光标前所有内容 control+delete 跨行选取 command+option+鼠标拖动
    Run相关: Debug command+option+enter Run 断点关 command+option+r Debug 断点开 command+option+y Run with Performance Tool (Shark) 可设 Stop command+shift+enter Attach to Process (Process ID) 可设 Debugger command+option+y Mini Debugger command+control+左斜上箭头(不知咋按) Console command+shift+r Clear Console command+option+control+r

    ===================Show========================

    断点 command+option+b Expressions 可设 Global Variables 可设 Memory Browsers 可设 Shared Libraries 可设

    ===================Debugger Display========================

    纵布局 可设 横布局 可设 Datatips 可设 Step Controls 可设 Source Only 可设 Source And Disassembly 可设 Disassembly 可设

    ===================Variables View========================

    User Data Formatters Show Type Column Print Description to Console Print Roots to Console Print Referers to Console Watch Variable View Value as Natural Hexadecimal OSType Decimal Unsigned Decimal Octal Binary Edit Value Edit Summary Format View in Memory Browser View in Window View in Expressions Window

    ===============================================

    停用断点 command+control+\ 停止objc例外 可设

    ================Manage Brakpoints=================

    当前行插入断点 command+\ Add Symbolic Breakpoint 可设 Add C++ Exception Breakpoint 可设 启用当前行断点 command+option+\ 导入断点 可设 导出断点 可设 ===============================================

    Fix 可设 Pause command+option+p Step Into command+shift+i Step Into Instruction command+option+shift+i Step Over command+shift+o Setp Over Instruction command+option+shift+o Setp Out command+shift+t Next Thread command+option+control+上箭头 Previous Thread command+option+control+下箭头 Sync with Debugger 可设 Stop on Debugger()/DebugStr() 可设 Enable Guard Malloc 可设
    Desing相关:

    ======================Class Model===================

    Quick Model Go to Declaration Go to Definition Go to Documentation Add Comment

    ======================Data Model===================

    Import Add Model Version Set Current Version Add Entity Add Attribute            command+control+a Add Fetched Property Add Relationship command+control+r Add Fetch Request  Copy Method Declarations to Clipboard Copy Method Implementations to Clipboard Copy Obj-C 2.0 Method Declarations to Clipboard Copy Obj-C 2.0 Method Implementations to Clipboa

    ======================Mapping Model===================

    Update Source Model Update Destination Model Add Missing Property Mappings

    ===================================================

    Show Model Browser command+control+b Collapse Compartments Expand Compartments Roll Up Compartments Roll Down Compartments

    ======================Diagram=======================

    Bring to Front command+control+shift+f Send to Back command+control+shift+b Align Top Edges Align Bottom Edges Align Left Edges Align Right Edges Align Vertical Centers Align Horizontal Centers Make Centered Colum Make Centered Row Make Same Width Make Same Height Size to Fit Lock command+control+l Unlock command+shift+control+l Zoom in command+control++ Zoom Out command+control+- Zoom to Fit command+control+= Turn Grid On Show Grid Show Page Breaks Force-Directed Layout command+control+g Hierarchical Layout command+control+h Window相关: 最小化 command+m 全部最小化 command+option+m Zoom Bring All to Front Defaults Organizer command+control+o Activity  Help相关: 开发文档 command+option+? 快速帮助 command+control+? Xcode帮助 command+? Welcome to Xcode Xcode Quick Start Xcode Release Notes Find Documentation for Selected Text Open man Page
    最新补充:command+shift+d 打开头文件

    转载于:https://www.cnblogs.com/YangFuShun/p/4271536.html

    展开全文
  • xCode 技巧大全

    千次阅读 2013-03-19 16:27:12
    用windows编程4年了,其vs调试功能可谓强大啊。...不管怎么样,既然着了,就只能先适应着学着。以后会将工作中学习到的技巧记录在此,以便回顾。 xCode查看数组指针内容。 在windows中这个操
  • Xcode使用Intel Parallel Studio初探

    千次阅读 2018-01-24 21:43:25
    咳咳~本人以前一直是做Windows开发的,用的VSS,所以~咳咳~不怎么用XCode用XCode完全是为了iOs开发。 今天突发奇想在XCode上使用Intel Parallel Studio,甚至想能不能再iOs上用上。 说干就干,装上Intel ...
  • 用xcode做一个时钟动画,需要获取系统时间,在Windows环境下是使用SYSTEMTIME定义系统时间变量,在Xocde下要怎么定义呢?
  • ios开发之 xcode使用

    千次阅读 2012-12-23 19:00:53
    第一次用xcode 编译了一个动态库,可是怎么也找不到,原来default藏到了home 下面一个Library下面的某个角落,和linux windows上的习惯很不一样,就找了一个办法把它弄到当前项目下面,这个设置是全局的,也就是以后...
  • 其实就是设置里面的快捷键变成了文字版,刚开始用Xcode是不是发现以前熟悉的开发环境的快捷键都不能用了?怎么快捷运行,停止,编辑等等、都不一样了。快速的掌握这些快捷键,能提供开发的效率。 其实快捷键在Xcode...
  • XCODE搭建SVN环境

    千次阅读 2013-09-27 19:53:29
    mac开发,就遇到一个问题,代码怎么提交公司的svn版本库呢?   找啊找发现有很简单的方式,就是这里。   只要几步就够了:   选中Reposistories栏目。   然后找到左下角的+号,点击后可以看到几个选项: ...
  • Xcode下 写c代码

    千次阅读 2015-06-22 11:59:15
    以前都windows下都VC来写的,换到Mac系统下突然就不知道怎么写C了,还好有我大百度,经过一番查阅后总结如下: 1,去商店下载Xcode(免费,话说软件有些大,大家在下载的过程中如果速度慢或者下载失败可以更改...
  • Xcode的第一个mac程序

    2014-06-25 03:52:00
    今天是第一次用Xcode,什么都不会,对于像我这种从windows c++转mac c++/obj-c/python的人,对mac下的编程可以说是一点都不了解,这篇文章也从零开始写起,记录我的cocoa编程学习历程。 1、mac下怎么编程 由于...
  • 其实就是设置里面的快捷键变成了文字版,刚开始用Xcode是不是发现以前熟悉的开发环境的快捷键都不能用了?怎么快捷运行,停止,编辑等等、都不一样了。快速的掌握这些快捷键,能提供开发的效率。 其实快捷键在Xcode...
  • 最近正在学习IOS方面的开发,在XCode4的时候,看到它的StoryBoard,因为大部分的入手教程都只是教你怎么用这个StoryBoard,而从来没有人跟你说这个StoryBoard是怎么一回事,所以产生了对它做一个小研究的兴趣。...
  • 如果是在MAC OS上用XCODE直接管理项目的话那怎么操作呢。其实解决MAC OS上的SVN问题,很多时候要请出terminal来解决问题 如账户名或密码修改,可以这么操作: 1. open terminal 2. type svn
  • 今天是第一次用Xcode,什么都不会,对于像我这种从windows c++转mac c++/obj-c/python的人,对mac下的编程可以说是一点都不了解,这篇文章也从零开始写起,记录我的cocoa编程学习历程。1、mac下怎么编程由于对Xcode...
  • window.h这些我知道肯定不能,include这些也修改成mac的版本,在xcode的library 里面也加入了glut和opengl库文件(glut相关小程序都能实现),但这里,"CGfxOpenGL.h"这个问题怎么解决,目前程序报错不认...
  • [github技术]git/github 使用 1. git 版本控制系统 相比CVS\SVN优势: ...ps:关于git的更详细的介绍于优点在此就不介绍了,教大家怎么用是关键。:) ==============运行环境======== 系统:windows
  • 之前看了静电的sketch教程和静电的xcode教程的同学们,特别是用windows的同学们,一定会吐槽: 怎么会有这么坑爹的教程! 我裤子都脱了,你就让我看这个! 我穷,没钱买高大上的苹果! sket
  • 笔者做Windows开发的,无奈公司有Mac OS的项目需要维护,之前没有编辑菜单的功能,需要笔者加上这个功能,笔者只能硬着头皮上。还好会c++,Mac应用里面一般都会object-c 也可以和c++混着,连猜带蒙,把这个功能...
  • 我们h5开发的APP,需要将ipa文件上传到苹果开发者中心,才能将app发布到app store,但是苹果官方给我们提供的xcode或Transporter只能在mac电脑下安装,假如我们没有mac电脑,怎么上传ipa呢?下面我们讲解下在...
  • 苹果MAC系统怎么编译C语言

    千次阅读 2019-01-30 18:00:48
    Xcode是一个苹果系统上的集成开发环境(IDE),就是说用Xcode就能编写C语言程序,并编译运行。也能开发ios程序等,是一种软件。在windows上类似这种能编c语言的还有微软出的visual studio,和其他免费的一些如...
  • 虽然Mac系统使用xcode自带的上传ipa工具很方便,也很简单,但众多跨平台开发者,如:uni-app,apicloud,Flutter等混合开发者,不到mac系统来开发,几乎没有必要用到,如果只是一个上传ipa功能,来买个Mac,那太不...
  • Cygwin, MinGW), and Mac OS X (Xcode 5.1). The SVN repository on Google Code is now frozen and replaced by a Git repository such that it can be used as Git submodule by projects. The main hosting of ...
  • filesystem 新特特性怎么在mac下不能?   如果在windows 和 max os下边使用filesystem 我现在在vs2017上边使用 filesystem一切正常,但是在xcode 里边就不对,找不到头文件。  解决方法: 在mac os...
  • Mac部分公司分了一台imac一体机给我,面对这个系统,之前一直用windows系统的我顿时就萌逼了,虽然性能很高,但是完全不会啊,好几天都是在给电脑配置开发环境,总之一言难尽。 其中就有给eclipse 安装版本控制...

空空如也

空空如也

1 2
收藏数 40
精华内容 16
关键字:

windows怎么用xcode