如何用末把 Swift 不到并做了一 App - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
cctrv
V2EX    分享创造

如何用末把 Swift 不到并做了一 App

  •  
  •   cctrv span title="2017-11-14 04:27:56 +08:00">2017-11-14 04:27:56 +08:00 5634 次点击
    这是一个创建于 2892 天前的主题,其中的信息可能已经有所发展或是发生改变。

    起先,本想用 React Native 做一微信名片入到包的 App。 某日重系后,原的 React Native 的境怎都跑不起原的 App。 因此,我怒而向 Swift 型。

    其在 React Native UI 程很方便,但是接入 iOS 包程,真的看到我一暮水。

    新建目

    然打你的 Xcode,我建立了一叫 Play 的目。

    B5E0AE4C-EFC1-4059-9293-85B0E3FF451B

    「 Single View App 」,下一步,不使用 Core Data。

    我得一切的言,最重要是莫於。

    print("...")

    你想什命令,用 Print 一下就正解了。

    我在上找了一,叫「 PlainPing 」

    https://github.com/naptics/PlainPing

    PlainPing.ping("www.google.com", withTimeout: 1.0, completionBlock: { (timeElapsed:Double?, error:Error?) in if let latency = timeElapsed { self.pingResultLabel.text = "latency (ms): \(latency)" } if let error = error { print("error: \(error.localizedDescription)") } }) 

    我突然始得,Swift 言怎做起跟 node 差不多,想要什功能?想找一回。

    所以,我就子,入了一 Swift 面向 Google 的人了。

    始一 App

    在始一 App 之前,我推使用 StoryBoard ( IB )作 App 的 UI 工具。

    170CBBC8-0242-45BE-9F4B-21E4B13574A4

    IB 的使用很,核心就是一「」概念。

    IB 的入程我是看了篇文章入的(Auto Layout 入教 | 自介面 Adaptive UI)。

    至於大家如何入,我得 Google 多就可以了。

    949BA62F-998A-4256-AA45-8DE7EAC7

    我然可以先拖一空到我的 IB,再定一下水平垂直居中。

    670AC0AE-3A4B-4210-85EC-0A83E1FB7966

    接著,用我的代,一下第一次使用 IB 并可以行的愉感。

    05A9BA49-FA96-4367-B72E-826ACD101 1704B8D7-A894-4C33-A68F-F43AC5FEA813 C8F00057-2D02-49BB-811C-79F43F941125

    按照上,我使用在 IB 添加了一叫 Label 的控件,接著,把界面切成「 Assistant 」模式。

    著我的 Label 控件右后拖到左,建立一 Outlet。

    先。


    什是 Outlet 和 Action 呢?

    其,就是一定的程。 在 Storyboard,我做完的界面是不和代定的。作的你,就理解 Storyboard 就在另一次元空吧。 我使用神之鼠把控件到代之中,代暴露了一可以控制某控件的接口,,呼 Outlet。 不 Outlet 只能取和修改控件的一些式,文本容。

    如果遇到按的控件呢?我就要用 Action 事情了。 在使用鼠把控件拖到代, Action,就要求你新建一 Function 了。,你一下那控件的操作,就由 Function 完成了。 如果,你需要修改一按的名字,是需要定上 Outlet 才可以。

    而言,Outlet 比似一上的定。然而 Action 就是去 Function。


    我回,原的代。 我次,在添加一 Action,使用才的法。 添加完 Action 后,我就一事情。

     @IBOutlet weak var PlayLabel: UILabel! @IBAction func doAction(_ sender: UIButton) { PlayLabel.text = "Hey" } 

    做完些事情,我就按下 Command ()+ R 在模器行我的 App。

    我就可以一下「 Button 」,yo,我的 Label 的文字就成,Hey 了!

    Kapture 2017-11-14 at 3.54.12

    是很的吧?

    我的入程就如此束了。

    如何一 Swift App ?

    首先,我要做一。

    398FC426-CEA7-4D74-A626-C1B4FA37EA9A

    接著,我把的子,用 Xcode 的 IB 局出。

    DE258572-94E0-4A36-A4FE-4167D817E85B

    放心,在 IB 的式不能完全反映 App 的最子。 因有部分式,我只能使用代添加,不能使用 IB 完成。

    接著,引入一大堆的和一大堆的代。

    FA51DDAB-CE20-4D90-93C2-8F448B5FA7B7


    UITableView

    UITable 是整局之中最的第一地方。
    我 下午 7 折到凌晨 2 才搞定 UITableView。
    分享,我是後期看了才知道怎折。

    Auto Resizing Table View Cell height in swift 3 and Xcode - YouTube

    https://www.youtube.com/watch?v=6bQYd9N6g6A


    最後,在真行 App 吧!

    43365B28-AA81-4307-BA88-73DAB8717054 91DF1F52-D3E6-4ECB-B07E-C9E592C728E7

    GitHub 目位置

    https://github.com/qoli/dailyVerse

    目快可以上架,我末了 Apple 者,可惜都一去了,示通。 App 完了,但是者下真奇怪。哈哈哈

    大家也可以透查看操作: https://www.youtube.com/watch?v=Y4xG7LScOT8&feature=youtu.be

    第 1 条附言    2018-01-20 05:53:35 +08:00
    一堆波折
    包括有

    1. 因功能太而不上架;
    2. 因 API 不支持 ipv6 而拒通;
    3. 因 2 那是假的,是 App Store 查法 API 而向我告 IPV6 ;
    4. 因 2 和 3,所以我了一 API 服器端代理,求到 Google GAE 再求 API ;
    5. 所以,才上架了。

    App Store 下接:
    https://itunes.apple.com/hk/app/%E6%AF%8F%E6%97%A5%E8%81%96%E7%B6%93%E6%95%85%E4%BA%8B/id1313606731?mt=8
    29 条回复    2018-01-20 05:54:11 +08:00
    ynyounuo
        1
    ynyounuo  
       2017-11-14 06:18:50 +08:00 via iPhone
    挺好看的
    hualongbei
        2
    hualongbei  
       2017-11-14 08:23:45 +08:00 via Android
    真是羡慕可以沉下心来做事的人呢
    fuermosi777
        3
    fuermosi777  
       2017-11-14 08:34:52 +08:00
    用心做的东西
    diyisoft
        4
    diyisoft  
       2017-11-14 08:42:07 +08:00 via iPhone
    挺好,记得发过真人照片的。佩服不断学习的
    hugee
        5
    hugee  
       2017-11-14 08:42:57 +08:00 via Android
    繁体看着有点累
    hellobanny
        6
    hellobanny  
       2017-11-14 08:44:59 +08:00
    不知道会不会被苹果以功能太简单不让上线?
    66beta
        7
    66beta  
       2017-11-14 08:57:14 +08:00
    前端,看了 1 分钟 OC,想吐
    kimown
        8
    kimown  
       2017-11-14 09:04:03 +08:00 via Android
    @66beta 试试 swift
    nl101531
        9
    nl101531  
       2017-11-14 09:20:17 +08:00 via Android
    看发帖时间,妹纸起来的好早
    newbieo0O
        10
    newbieo0O  
       2017-11-14 09:35:05 +08:00
    开发还是用原生语言靠谱,平台特性都支持。
    webfrogs
        11
    webfrogs  
       2017-11-14 09:52:51 +08:00
    厉害了!开发者账号申请是比较慢,耐心等待吧。
    missdeer
        12
    missdeer  
       2017-11-14 10:03:35 +08:00
    开发者账号申请可以直接打中文客服电话,指导你填充必要信息并立马开通~
    cctrv
        13
    cctrv  
    OP
       2017-11-14 10:40:24 +08:00
    @missdeer 有的操作?我研究一下。
    diyisoft
        14
    diyisoft  
       2017-11-14 10:53:59 +08:00 via iPhone
    @cctrv 当时申请的账号,需要翻译的部分是客服帮我翻译的,哈哈
    laoyur
        15
    laoyur  
       2017-11-14 10:56:29 +08:00
    能一遍过的话算我输
    哈哈,说句玩笑话,不过审核真的可能会以功能简单为由不给过的
    caizhendi
        16
    caizhendi  
       2017-11-14 11:00:31 +08:00
    厉害了 设计师!!!!
    cctrv
        17
    cctrv  
    OP
       2017-11-14 11:27:26 +08:00 via iPhone
    @laoyur 我先把你句住先。
    aksoft
        18
    aksoft  
       2017-11-14 13:43:51 +08:00
    不错哦,我试试
    run2
        19
    run2  
       2017-11-14 14:01:09 +08:00
    (昨天在群里看到过 没仔细瞧)

    iOS 钱包是什么
    Apple pay ?
    LeoNG
        20
    LeoNG  
       2017-11-14 14:06:09 +08:00
    佩服楼主的行动力。
    GuangTsang
        21
    GuangTsang  
       2017-11-15 13:18:08 +08:00
    厉害了,我想要这种教学,一直想学
    phk
        22
    phk  
       2017-11-15 16:46:50 +08:00
    给你打 call !!
    noli
        23
    noli  
       2017-11-15 17:37:57 +08:00
    @cctrv

    告诉 Apple 审核“我是女生,我从学 swift 到完成 app 才 3 天,我这中开发者还需要审核吗!!!?”

    表情要骄傲自豪,然后库克就会拜访你了。

    因为楼主你简直就是 Apple 梦寐以求的深度用户(开发者 mix 设计者)。
    hanangellove
        24
    hanangellove  
       2017-11-16 09:28:23 +08:00
    楼主可以试试 swift4 的 codable 协议,可以完全不用 swiftJson 了。
    hanangellove
        25
    hanangellove  
       2017-11-16 09:28:53 +08:00
    另外,楼主 App UI 设计的还不错。
    jhdss
        26
    jhdss  
       2017-12-05 11:30:47 +08:00
    厉害了 我的小姐姐
    nannanziyu
        27
    nannanziyu  
       2017-12-06 09:19:18 +08:00
    @hanangellove
    codable 是个残次品
    1, 继承无效
    2, 不能设置默认值
    cctrv
        28
    cctrv  
    OP
       2018-01-20 05:53:49 +08:00
    於上架了……
    cctrv
        29
    cctrv  
    OP
       2018-01-20 05:54:11 +08:00
    @hanangellove
    SwiftJSON 超好用~ 我不想的了。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     4166 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 71ms UTC 04:11 PVG 12:11 LAX 21:11 JFK 00:11
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86