不同于CodeSchool 一类的观看视频指导然后立刻跟着视频做练习的小节型教学网站,Udacity 的微学位更像是一个提前组织好的课程列表。你根据这个列表顺序参与课程并完成相应的项目练习。
第一门课程的项目叫做Pitch Perfect。这是一个可以让用户录制自己的声音并做一些简单的后期处理的 app。由于是学位里的第一门课,整个项目比较简单,大部分时间是对基础知识的介绍,只要严格按照指示一步步来就可以完成。但是这其中仍然有一些或大或小的障碍需要求助于 Google,用官方的话讲,“这也是一种能力”。好吧,所以以下就是我在解决问题中所谷出的各种参考。
一篇纯文字版本的教程,基本就是对课程的文字记录:(似乎主机挂了?Anyway,第一次看到的时候几乎要后悔为了一堆视频付了每月300刀)
http://www.jawadrashid.com/swift-tutorial-udacity-5/
另一篇纯文字的Swift 入门级教程:
有关于如何添加图片到 Assets 以及如何显示等相关的问题:
http://stackoverflow.com/questions/28567640/connect-uiimageview-to-view-controller-display-image-from-images-xcassets-with-s
http://stackoverflow.com/questions/32152197/how-to-load-image-from-images-xcassets-into-a-uiimage-with-swift
这篇教程用 gif 图的形式来解释如何添加 Image Assests:
http://guides.codepath.com/ios/Adding-Image-Assets
有关于AVFoundation的各种:
http://www.rockhoppertech.com/blog/swift-2-avfoundation-to-play-audio-or-midi/
http://stackoverflow.com/questions/25333140/using-sound-effects-with-audioengine
如何实现各种后期音效:
https://developer.apple.com/library/prerelease/ios/documentation/AVFoundation/Reference/AVAudioUnitDelay_Class/index.html#//apple_ref/swift/cl/c:objc%28cs%29AVAudioUnitDelay
http://becomerealdeveloper.blogspot.jp/2015/06/ios-swift-is-it-possible-to-use.html
有个牛人从原理上手动实现了混响和回声的效果,没有使用内置的混响函数。Udacity 的老师在评论中称赞了他,并指出有内置函数可以实现所有功能,呵呵:
http://sandmemory.blogspot.jp/2014/12/how-would-you-add-reverbecho-to-audio.html
这个按理说是很简单很容易想到的,不知道我为啥搜了这个。不过既然在记录里那就记下来,毕竟我是一个诚实的 boy:
http://stackoverflow.com/questions/26985027/disable-and-enable-uibutton-xcode-swift?rq=1
这是关于音频播放结束后如何处理的讨论,当时是想把播放和暂停键合二为一,播放时显示暂停键,结束后显示播放键:
http://stackoverflow.com/questions/34238432/avaudioengine-avaudioplayernode-didfinish-method-like-avaudioplayer
最后,不得不猛烈推荐这几个网站:
http://blog.no-panic.at/2014/10/20/funny-initial-git-commit-messages/
http://www.commitlogsfromlastnight.com/
http://whatthecommit.com/
相信我,你看完会回来转发的,么么哒。
这个项目的地址在:
https://github.com/HybridRbt/Pitch-Perfect
*English version is here:
https://medium.com/sidenotes-on-my-way-to-ios-developer/ios-developer-nanodegree-at-udacity-project-1-pitch-perfect-ae6c2883de36#.ww3shapp1