• 【转】使用Xcode中的iOS SDK给iphone开发出第一个App程序


    之前已经折腾过用Xcode开发OS X的程序了,现在继续折腾,用iOS SDK开发移动设备(iphone/ipad/ipod touch)的程序。

    1.从iOS Developer Library中找到了Start Developing iOS Apps Today,所以就跟着教程去试试。

    2.从教程中才知道,原来移动设备,是包括这三个:iPad, iPhone, and iPod touch

    教程中也说了,会涉及到Xcode+iOS SDK,Objective-C,Cocoa Touch Framework,如何建一个iOS的app并且在设备上测试,以及如何提交app到App Store。

    另外,关于是否需要注册成为Apple开发者:

    写app和在模拟器上测app,是不需要的;但是想要在设备上测app和发布app则是需要的。

    3.安装教程提示,去Your First iOS App学习学习。

    创建新项目,选择Single View Application:

    single view application

    其中,另外几个Template,教程解释道:

    Master-Detail创建出来的程序就像Mail;

    Tabbed创建出来的就像iTunes;

    然后设置项目名字和配置:

    set prj setting

    然后选择一个地方存放你的项目,以及对于那个source repository不要选,然后就打开了项目了:

    opened helloworld

    汗,好像写错项目名了,写成HelloWord了。。。

    无所谓,继续。

    暂时不需要Utility Area,所以去关闭该窗口:

    close utility window

    然后点击Run,就可以看到iPhone模拟器出现了:

    run show iphone

    然后验证可以运行了,先退出iOS模拟器:

    quit iOS simulator

    当前的Supporting Files中的main.m为:

    main m file

    相应的info list文件为:

    info list file

    storyboard为:

    storyboard

    然后再打开Utility->Attributes inspector:

    view utility

    按照教程去看,差点没看懂,差点没找到找到如何打开background配置界面的。

    后来还是自己摸索出来的,先点击View Controller下面的View,然后右边的Attribute inspector自动就打开了配置界面了:

    backgroud config

    然后才看懂教程,原来最开始是要选择View的。。

    然后就可以点击Background的那个白色长方形,在弹出的颜色设置中,设置自己所要的背景色了:

    change color

    然后运行看看效果:

    red background iphone ui

    然后按照教程,在恢复回白色:

    restore to white

    然后再运行一下,看看效果,顺带同时保持了你当前的设置。

    然后接着去添加Text Field:

    text filed

    拖动放到View中,然后再通过View Controller->View->Text Field选中后,用鼠标拖动至合适的位置,比如:

    place text field

    再在placeholder中输入名字,再去设置对齐:

    placeholder align

    然后再把Label:

    label

    按照同样方法添加到View中:

    added label

    再添加button:

    round rect button

    然后命名为Hello:

    added button

    然后去配置好Text Field:

    config text field

    然后运行试试效果。

    点击按钮,是可以高亮的:

    click button to hl

    点击到Text Field可以调出键盘:

    input in text field

    如教程所说,暂时没实现功能呢,所以暂时无法关闭键盘。

    然后再按照教程,确保当前选中的是MainStoryboard.storyboard 然后,此时是可以看到对应的界面的,然后我这里右边会显示出CRLViewControl.h文件,而不是.m文件,而直接点击左边的CRLViewControl.m文件的话,此时Hello的界面没了,会变成CRLViewControl.m的内容,所以不是所想要的。

    后来经过折腾发现,原来是在右边,显示了CRLViewControl.h的上面,点击图标,可以看到,有CRLViewControl.h和CRLViewControl.m两个,选择CRLViewControl.m:

    show m file

    即可出现对应的.m的内容,此时就可以继续操作了:

    ctrl drag and see popup

    然后配置好connection:

    config connection

    然后点击Connet,然后会看到一个灰色的小圆点,移动上去,会看到Hello按钮显示出提示:

    move over gray button

    继续去添加Outlet:

    build outlet

    然后填入参数,配置好:

    textfiled configured

    教程提到了,现在编译器会自己给accessor methods做synthesize,所以不用再加@synthesize了。

    同样的,也去给label建立关联:

    connect label

    然后打开Utility,关闭Assistant,点击到Connections inspector,就可以看到各个连接关系了。

    鼠标移动上去,就可以显示出来关系:

    show connections

    其实,就类似于VS 2010中,建立控件,比如label时,你所设置label的名字,而mac却把这label空间本身和其源文件.m中的变量,割裂开来,然后另外再手动建立两者的联系罢了。

    再去设置Text Field的delegate:

    textfiled delegate

    不过话说,目前为止,好像还是不是很清楚这个delegate的作用。。。

    选择Outlets中的delegate后,变为:

    selected delegate

    教程也说了,其实这些内容,都是可以手动去写代码的,只是让Xcode帮你自动生成,会减少你的代码输入量而已。

    (也减少可能的由于笔误而造成的错误)

    去Run了下,结果和之前一样,点击按钮会高亮,点击text field会调出键盘输入。

    接着就是写代码了。

    在CRLViewController.h添加了property

    在CRLViewController.m中去实现对应的changeGreeting。

    抄写代码过程中还觉得很奇怪,为何不直接使用textField.text而还要新建一个NSString来存放字符串。

    看了后面教程的解释,才知道,原来是Mac中的model object决定的:

    app的数据,是不应该让UI部分的东西来存放的,即此处app的将要显示的text内容,应该自己建一个NSString来保存,而不应该用textField的text部分来保存其要处理(要显示)的数据。

    然后继续按照提示,添加delegate代码,最后Run成功如下:

    finish helloworld

    至此,终于完成第一个iOS的app了。

    虽然不是全懂,但是大概明白流程了。

    from :http://www.crifan.com/develop_application_for_iphone_using_ios_sdk_xcode/

  • 相关阅读:
    前端之 http
    事务、存储、索引与慢查询及数据库设计的三大范式
    Navcat 软件使用及 pymysql模块
    MySQL单表查询与多表查询
    IO 模型
    Unable to round-trip http request to upstream: read tcp 192.168.xx.xxx:xxxxx->xx.xxx.xxx.x:xxx: read: operation timed out
    恶补计算机基础知识(一)
    2020 年终总结
    自我总结Java并发编程基础篇(一)
    jvm系列(三):GC算法、垃圾收集器
  • 原文地址:https://www.cnblogs.com/xuan52rock/p/4956681.html
Copyright © 2020-2023  润新知