求大神帮忙看一下,这个问题我百度也没有答案!(酷课堂iOS交流群问答整理201811期)

版权声明:本文为酷课堂原创文章,欢迎转载但请注明来源。 https://blog.csdn.net/fzhlee/article/details/86286692

酷课堂iOS移动开发交流群问答精华整理(201811期)

以下内容由@小课(coolketang001)

爬楼整理,希望小伙伴碰到的这些问题,对你有帮助/启发。

 

我们是一个什么样的组织:

很干、很佛系...

酷课堂iOS移动开发交流群,聚集了一群热爱技术、有趣、有料,平均Q龄在10年以上的“老司机”,他们遍布在全球各地,有出版过iOS图书的作者、知名企业iOS工程师、高校大学生、自由职业者……每晚11点准时熄灯(禁言),只聊技术,几乎不闲聊。
 

IT从业者自学成功的人不少,

但从入门到放弃的可能更多

因为在自学的过程中,你会遇到各种各样的问题,却很难得到及时有效的引导,一个问题被困上好几天也是常有的事。所以我们希望能够提供一个平台,让更多自学者可以在这里讨论、交流、获得帮助/启发,进而更加快速入门。如果你对iOS开发感兴趣,欢迎加入我们。一个人走的快,一群人走的远,我们一起加油精进。

 

 

如何加入我们:

1、仅对付费学员开放,最低50元购买一门iOS课程,即可加入。

(设置门槛是为了筛选真正想学习的人,一本书的价钱,你就能够加入一个高质量的学习交流圈)


 

2、已购买课程的同学,请添加小课QQ:3068527144,按操作提示即可获取对应QQ群号,及配套练习源码。(苹果商店的订单号,可在购买账号绑定的邮箱中找到)

酷课堂产品官网

http://www.coolketang.com(仅支持在ipone.ipad上使用学习)

 

网易云课堂视频教程链接:

http://163.lu/FIDD71  (同时支持在电脑和手机、平板上播放学习)   

群主《iOS移动开发从入门到精通》图书推荐http://product.dangdang.com/25535011.html(天猫、当当、京东搜索“李发展 iOS”即可找到)

 

本期关键内容:

一、11月问答集锦

二、小伙伴边学边做项目时,碰到的几个具体问题的讨论

三、11月小伙伴分享的资源

 

 

 

11月问答集锦

1、请问App在前台可以接受远程通知么? 若可以,在哪里接受呢?

App可以接收远程通知,用户在收到远程通知时,点击并打开通知,可以跳转到App中的指定位置,参考http://www.hangge.com/blog/cache/detail_1850.html

 

 

2、如何调小两个Selector之间的距离?

(把这张图中,距离顶部的距离调小)

调整section之间的距离,                 

实现协议中的方法参考:https://www.jianshu.com/p/5c0ee0dd6778

 

 

3、如何让导航栏颜色透明,滑动渐变,之前用WRNavigationBar这个第三方库,是OC的,在swift里控制不了。

Swift4.0的导航栏滑动透明渐变参考这个https://blog.csdn.net/wenzfcsdn/article/details/79172345

 

 

4、APP开启就会错误,这种情况该怎么解决?

建议可以尝试检查conplaint这个变量在故事板中是否和类中的属性进行正确的绑定

 

好的,解决了,就是button绑定问题,更改绑定在button中没有删除导致的。多谢!

 

 

5、新手一枚,想请问一下学习iOS开发, 该从哪里开始学,是先学UI控件,还是用实例学习呢?

参考:建议可以先学下Xcode界面、UI控件、Swift语法等基础内容,然后再是网络、多线程、数据处理、访问硬件等专项功能。之后你应该将这些功能有效地综合起来,去实现自己的创意,完成几个个人项目。

最好是抱着目的去学,为什么要学这个知识点,学会这个知识点可以帮你实现个人项目中的哪些功能?

 

好的,感谢群主的建议!

 

 

6请问如何给 uiview 双击 action. ?

使用双击手势,可以参考《iOS从入门到精通》客串第2章第12节

 

 

7、手动添加的第三方库(cocoapod很慢,改了地址也不行),为什么build不了?

可以参考这个:                            

https://stackoverflow.com/questions/38717956/ios-could-not-build-module-framework-name?noredirect=1&lq=1

 

解决了,好像是库的版本比最低要求还低,所以不行。

 

 

8、通常情况下TABLE VIEW CELL 放入一个播放器的时候,是怎么放的?是用数组还是别的方法?

目前没有过类似案例,建议你到github中看下别的项目是怎么放的。

如果是我做的话,应该只会使用一个视频播放器的实例,然后每个cell都放一个视频的缩略图,当点击一个缩略图时,将播放器实例放置在点击的cell,然后再播放cell对应的视频文件。使用单例进行视频的有序播放,然后根据用户的点击,或者表格的滚动的来判断视频播放的时机。

 

好的,明白, 谢谢群主 ,我感觉还是用一个安全一点。

 

                     

9、关于静态属性的问题,如下图鼠标选中的部分。

为什么结构体中已经定义改变量为静态,在后面仍然可以重新被赋值呢?是不是我对静态这个概念有啥误解?(鼠标选中的部分)

 

final不会起到let常量那样的作用,final所修饰的属性和方法不能够被子类重写,final也经常用来实现单例模式。

 

 

10、为什么这里只能用amount:amount呢?改成amount:Double就会报错?

amount是Double类型的数值,所以是可以的,而Double只是类型,没有数值的。上面的是方法的定义,(amount: Dobule)中冒号的两边,分别表示参数名的称和参数的类型。下面的是方法的调用,(amout: amount)中冒号的两边,分别表示参数的名称的参数的值。前一个amount主要是直到辅助提示的作用,后一个amount才是需要传递的数值。

 

也就是说,其实函数调用里面这两个amount是不一样的,第一个是定义的参数名,第二个amount是值,也是messageWith传进来的值。只不过正好这两个名字都是amount,容易混淆,是这样吗?如果messageWith 参数变成(a:Double ),下面的传参就变成了(amount: a)

 

是这样的。

 

 

 

11、button控件怎么能同时实现圆角和阴影效果,用keypath和代码进行设置后都是只能显示一种效果。

用这个ShadowView创建一个同时拥有圆角和阴影的视图,然后将一个button放到里面就行了

 

 

12、请问类似这种Tabieview 视频显示在正中间的时候播放,怎么设置呀?

提供个思路,利用UITableView的visibleCells属性,获得可见的单元格,然后挑选这些可见的单元格数组中的中间的那个单元格。不过一般是挑选第一个或者最后一个吧。

 

好的,我明白了。

 

 

 

小伙伴边学边做项目时,碰到的几个具体问题的讨论:

案例一:    

在做一个天气预报的App遇到的问题。

在view controller.swift用alamofire从一个网站取回了数据,并新建了一个swift用objectmapper写了解析,现在该怎样把网站发来的数据和我写的解析连接起来,并拿出我想要的数据呢?

请参考这个Demo(可在QQ群文件中下载,或联系客服妹子)

<<iOS开发中的神兵利器>>这门课程第4章第11节也有讲到这部分的内容。

 

 

案例二:

请教一个问题,在1,2页面跳转,1页面tableview,点击相应cell进入第二页传值。为啥页面一的tablecell点击事件发生时间晚于页面二的viewdidload呢?

 

群主:

应该不会晚于的,你可以在两个cellDidTouched和viewDidLoad两个位置分别添加一个断点,测试一下哪个断点先被激活。

 

L:

我是使用页面传值,发现传不过去,返回后再进,传的是上一次应该过去的值。然后测试了print,发现第二个的print要先输出

 

群主:

这个方法里没有跳转到DetailAbbViewController的代码,是如何使用跳转和传值的?

 

L:

cell左键control  modall present,利用store对象传值     ,没学全,每个步骤找到一个可以用的就用了。所以这个问题我百度也不知道为啥。没有类似的问题案例。(你在自学的过程中,是否也有过类似的经历呢?)

我解决方法是把本该在第二个页面的viewdidload代码放在第二个页面的table分配cell方法中,这样功能逻辑是正常了。但是代码逻辑我想弄清楚为啥第二个页面viewdidload怎么比第一个的table快

 

小熊:

override func prepare(for segue: UIStoryboardSegue, sender: Any?)

用这个方法转场

 

L:

这个方法也用了

 

群主:

是这样的,在print("事件一")之前,已经调用了viewDidLoad方法。应该检查一下DataStore中的代码。

 

L: 

也是出现最初的生命周期问题

 

群主:

我写了一个Demo,你可以参考这个(可以在群空间查看,或联系客服妹子)

 

好的,我试试,谢谢!

 

 

 

案例三:

这个问题我在网上找了很久,都找不到解决方案。(选择逼自己吃学习的苦,之后才可以少吃生活的苦)

 

一般是缺少某个关联库导致的

 

找了好久没找到,用的是手动加入库,都放进去了。   用cocoapod时pod install下载很慢就会失败。libc需要加入吗?

 

 

 

高德地图需要一些关联库,参考

http://ask.dcloud.net.cn/question/26168

谷歌:

https://www.google.com.tw/search?ei=TXH1W-uEDMX18gXWoo_wBA&q=linker+command+failed+with+exit+code+1+%E9%AB%98%E5%BE%B7%E5%9C%B0%E5%9B%BE&oq=linker+command+failed+with+exit+code+1+%E9%AB%98%E5%BE%B7%E5%9C%B0%E5%9B%BE&gs_l=psy-ab.3...233657.236582..236736...0.0..1.599.4368.3-3j5j2......0....1..gws-wiz.......0j0i67j0i203j33i22i29i30j33i160.5E72VGPyy7c

解决了,除了下载的第一,二文件需要加入工程,其他的从本地加载就行,但是不是到那几个有什么用...除一二以外剩下的是本地有的,这些什么加入工程?或者说怎么样使用这些Xcode中已有的这些库

 

其它的库是虽然是iOS系统包含的,但是也需要手动导入,因为iOS的库太多了,如果不指定需要哪些库而都引用的话,会降低系统和应用的整体性能。一般第三方的类库在安装说明的位置,都会明确指出需要导入哪些关联的库。

 

自动部署会有这种情况吗?

 

使用cocopod安装会自动安装关联的类库

 

 

 

11月大家分享的一些资源:

1、一行代码实现 UIView 镂空效果http://url.cn/5IT9IQj

               

2、年底之前,记得去Apple Store换掉iPhone的电池http://www.cocoachina.com/apple/20181127/25608.html

                

3、设计一个简单的 iOS 架构http://url.cn/5aDnfpt

 

4、苹果发布 2018 圣诞广告,依然是地球上最会拍广告的科技公司http://www.cocoachina.com/apple/20181122/25557.html

 

5、程序员被老板发现从网上抄代码,一般会有什么后果?看完我笑了http://www.cocoachina.com/programmer/20181122/25564.html

 

6、iOS字体大小适配的几种方法http://url.cn/5O0TRFQ

 

7、算法基础--堆排序http://www.cocoachina.com/ios/20181120/25518.html

 

8、iOS 解耦、组件化最佳实践 - 分享自 @开发者头条https://toutiao.io/posts/ncskvf

 

9、iOS 关于全面屏适配的方案及UI在不同尺寸下适配方案http://url.cn/52PZ6Pg

 

10、iOS中static,const,extern相关的问题http://url.cn/5LxOLcl

 

11、iOS 开发安全 - 分享自 @开发者头条https://toutiao.io/posts/mswrk7

 

12、支付宝客户端架构解析:iOS 客户端启动性能优化初探http://url.cn/5N0HBeV

 

13、漫谈iOS的应用瘦身漫谈iOS的应用瘦身http://url.cn/5r5zFXQ

 

14、iOS自适应cell行高的那点破事儿http://url.cn/5BK8LQF

 

15、Swift4 【今日头条】项目开发实战 视频+代码

https://www.wotiaowode.com/index/courses/show.html?id=195

 

16、同样是程序员,为什么别人比你更优秀?http://url.cn/5izRZNG

 

17、分享38条iOS书写代码规范和小建议http://url.cn/5yXNFgy

 

 

联系我们:

网站:coolketang.com

微信公众号:酷课堂

微信:coolketang001

邮箱:[email protected]

QQ:3068527144

 

来酷课堂,手把手,带你学iOS开发

码字不易,如果觉得文章对你有帮助,请分享转发给更多人,非常感谢!

 

 

猜你喜欢

转载自blog.csdn.net/fzhlee/article/details/86286692