我们是一个什么样的组织:
酷课堂iOS交流群,聚集了一群热爱技术、有趣、有料,平均Q龄在10年以上的“老司机”,他们遍布在全国/球各地,有知名企业iOS工程师、高校大学生、自由职业者……如果你也是这样的人,欢迎加入我们,一起畅聊iOS技术及周边。
“很干” “很佛系”每晚11点后熄灯(禁言),只聊技术,几乎不闲聊。
IT从业者自学成功的不少,但从入门到放弃的人更多。一个人走的快,一群人走的远,希望你会是坚持到最后的那一波,希望我们可以一起相伴走的更远一些。
付费学员专享福利:
(额外福利,不承诺永久提供!)
1.为了更好的交流,我们开设了QQ群
2.已购买课程的同学,请添加小课微信号:coolketang001、QQ:3068527144
3.截图订单号,即可获取对应QQ群号,及免费练习源码。
(苹果商店的订单号,可在购买账号绑定的邮箱中找到)
1、tabbar点击的时候,怎么传值呀?问题贡献者:김위청 答题大佬:群主 方法1:通过tabBarController.viewControllers[索引]获得指定索引的控件器,再进行赋值。 方法2:首先将数据保存到UserDefaults,然后在另一个子控制器中读取UserDefaults中存储的值。 方法3:将数据保存在AppDelegate.swift中的一个属性中,然后在另一个子控制器中读取AppDelegate属性中存储的值。 方法4:使用通知/委托。
2、pod install之前,target Membersgip里面的两个target(Dev、NewEBPP)都勾选上关联了类库,但是pod install之后,之前的关联就会被取消了,得手动去关联类库对应的target,您看有什么解决办法吗?
问题贡献者:appleMan
答题大佬:群主/ appleMan
是不是memebership type的原因,参考这个帖子看看https://github.com/CocoaPods/Xcodeproj/issues/222
我看下,创建的组件是私有的,集成到项目后我手动勾选关联到target,然后pod install就会自动取消关联了,然后又需要手动去关联到target
问题解决了,原来还要在工程中去配置一下参数
这里分享一下,我是如何解决关联类库问题的。
GCC_PREPROCESSOR_DEFINITIONS
HEADER_SEARCH_PATHS
OTHER_LDFLAGS以上都是在build setting中查找,在Debug和Release中添加$(inherited)
因为每次pod install后都会有黄色的警告,我之前没注意
可以参考下这个https://www.jianshu.com/p/d464a9254a1f
原来是这样解决的,主要是根据黄色的警告文字,然后在build setting中找到警告对应的地方,再增加$(inherited)。多谢分享~
恩恩,也就是工程中没有配置头文件的搜索路径,所以会出现这个问题吧
我现在的项目从开始到目前为止都没有用cocoapods做包管理,现阶段我做组件化要用到cocoapods,所以也踩了不少的坑
Xcode中的$(inherited)的含义https://www.crifan.com/xcode_inherited_meaning/
问题贡献者:无骛/神奇的海螺
答题大佬:群主/赖着
UICollectionView支持多种布局模式,试试UICollectionView的Cover Flow布局
UICollectionView和UITableView有什么区别?是用来取代UITableView的吗?
这个swift制作的轮播图效果 似乎跟你要的一样 但不知道你能不能打开youtube https://youtu.be/iafSFDlr7g4,打不开的话 就挂个VPN了@无骛
答题大佬:群主
参考资料:https://www.jianshu.com/p/5b679538f585
问题贡献者:김위청 答题大佬:群主 实现方式有两种 方式一:Drag和UIPasteConfiguration 方式二:Drag and Drop
6、创建XIB的cell,XIB的控件显示的是nil啊? 问题贡献者:神奇的海螺 答题大佬:群主 那就使用代码自定义cell吧,比较简单些, 详情参考《iOS开发中的神兵利器》的第二章第一节,代码如下:问题贡献者:无骛 答题大佬:群主 卷曲动画是虚像,并不会影响操作的视图。如果需要在卷曲时切换不同的图片,最好使用帧动画实现。
8、值打印出来带some=() 是什么情况,我发现接口提交时url多出了好多some(), actualNumberMeetings=some(%22%22)
问题贡献者: 月光
答题大佬:群主
Optional类型是一个枚举,当Optional没有值时,返回的nil其实就是Optional.None,即没有值。除了None以外,还有一个Some,当有值时就是被Some包装的真正的值,所以我们拆包的动作其实就是将Some里面的值取出来。
如果不显示some,则在变量定时时使用!,如var str: String! = "CoolKeTang",或者在print时加!,如print(str!)
问题贡献者: 新手 答题大佬:群主 先和适配其它机型一样适配iPhoneX,然后在针对 iPhoneX进行测试,遇到奇怪的问题可以拿来讨论。先发三个不错的适配参考文章,你会对iPhoneX适配有里有些底: https://blog.csdn.net/chenyblog/article/details/77987751 https://www.jianshu.com/p/a4e778c2236e https://blog.csdn.net/qq_27080247/article/details/78665450
10、CollectionView 只想刷新 headerview. 部分,有办法吗?
只想刷新这部分的代码。
问题贡献者: 김위청
答题大佬:群主
是刷新尺寸还是内容,具体可以参考这个:https://blog.csdn.net/u012661893/article/details/52172146
问题贡献者: 김위청 答题大佬:群主
switch语句应该是在cellForRowAt方法中的吧,这个问题应该是存在N和Y之外的情况造成的,你修改为if(folloChk == "N"){cell.btnFollower()}else{cell.btnFolloin}试试。
问题贡献者: 无骛 答题大佬:群主 是的,可以使用制作帧动画或其它线性动画,然后放在所有视图的底部
13、请教一下,有没有iOS游戏开发方面的书籍推荐呢?就是有一个想法,实际上是想做一个相当于iOS上的社交软件,就是如果把做成游戏方面应该会更具有吸引力,虽然现在游戏用U3d的多,如果在xcode里面的话,应该也是可以的吧?问题贡献者:王源 答题大佬:群主 用u3d输出各平台时选iOS平台,这样就可以将项目输出为Xcode项目了。除了u3d还可以使用cocos2d或cocos2dx,也可以使用苹果自己的SpriteKit来制作游戏。
14、为什么我做出来的 uiscrollView 底下没有小白点? 可以使用svg格式的图标吗?
问题贡献者:He
答题大佬:群主
换个模拟器试试。Xcode9支持矢量图标
svg没试过,PDF的可以.使用开源类库可以使用svg格式的图片,参考神兵利器中的这节课。
问题贡献者:风 答题大佬:群主 对象的地址是对象存储在内存中的位置,对象本身是具有属性和方法的某个类的实例。 在Swift中可以获得对象本身在内存中的地址: var site = "coolketang.com " withUnsafePointer(to: &site) { print(">>>>\($0)") }
16、想问大家一个问题,就是我想用xcode 编写APP时把当前所有东西保存下来,打包成一个版本或者什么的,然后继续在这个上编写代码,该怎么保存呢?问题贡献者: 王源 答题大佬:群主/ C 用git吧 可以使用基于git的github管理源码的版本,可以设置为公开或私密。
17、Document Type下的内容怎么删除?求大神指点!
问题贡献者:风
答题大佬:群主
无法上架,编辑info.plist文件就行了,@风
18、以前导入的pod文件怎么不见了,源文件是有的,打开之后却没有显示 拖也拖不进去。打开别的项目是可以显示的。
问题贡献者:King 答题大佬:群主/ C 检查 是不是Xcode左下角的过滤框里输入了过滤关键词。
19、swift开发中是纯代码开发比较好还是使用故事版?问题贡献者:神奇的海螺 答题大佬:群主/ C 如果和伙伴一起开发,则需要沟通确定用哪个。其它情况如果追求非常高的性能则使用代码,如果追求开发效率则用故事板。 Xcode9教程中有专门讲解故事板使用的。
20、利用oc特性无埋点统计http://www.cocoachina.com/ios/20180424/23149.html 还有没有更好的无埋点统计呢? 又是runtimehttp://www.cocoachina.com/ios/20180424/23150.html问题贡献者:appleMan 答题大佬:群主/ C App统计常用的Flurry、友盟、Google Analytics应该都支持无埋点统计,苹果自身也会统计App的使用情况,不过由于需要用户勾选支持开发者选项,所以统计的不够全面。 一直在用友盟的埋点统计,一会我再去研究下它的无埋点,谢谢@群主
21、哪个教程里有在手机里输入文字,然后保存,下一次还可以通过手机访问的教程呀?就像笔记软件一样。或者说有没有关于输入框的教程?
问题贡献者:He 答题大佬:群主/ C 使用UITextField+UserDefaults就行了 《Xcode9从入门到精通》课程中有单独讲解UITextField和UserDefaults的使用。
22、弱弱的问下,storyboard能给控件设置渐变色吗?问题贡献者:晓书 答题大佬:群主/ C 给控件绑定一个自定义的view,在自定义view里设置渐变层。
23、请问一下 这是我的页面代码 member是 会员变量 我想请问 我这个会员的变量怎么设置 才能在另外一个页面上修改 这个页面的变量一样可以更新呀 现在是 我在别的页面更新会员变量在这里也不起效
问题贡献者:김위청 答题大佬:群主/ appleMan 用通知试下 通知? 怎么试呀? 用通知,或者将MypageController对象作为另一个页面的属性,记得使用weak关键词 可以参考《Swift4入门实例教程》中的第8章的前面几节课。
24、怎样在其中一个cell里添加点击事件,一定要加botton吗? 就是在点击后出现一个文本框描述问题贡献者:无骛 答题大佬:群主/ appleMan 添加button或者使用didSelectRowAt代理方法
25、请问如何实时获取用户的在线状态啊,以及让服务端知道在线人数,和在线状态。要用长链接吗?问题贡献者:zhu 答题大佬:群主/73 你就算用长链接,也需要心跳包来确定啊! 制定策略啊,比如用户5分钟内有请求,就判断为在线 简单的做法:用户调用登陆接口时,服务器记录用户在线状态。心跳就是定个时间间隔向服务器发送请求,说明自己仍然在线。否则不在线,或者调用登出接口也不在线。服务器统计在线状态的用户数量即可。 专业的做法是需要学习一下iOS的XMPP开发,可扩展消息与存在协议,可以在网上找到学习资料。
26、请教一个问题,有没有逆地理编码的课,我将经纬度转成地址老是出错? 参考《Xcode从入门到精通》第62课:将地理坐标转换成实际地名
问题贡献者:King 答疑大佬:群主
27、问个事,就是FFmpeg这个工具如果集成到ios里面的调用有没有这方面的资料,我是想知道,这样ios写的应用可以直接分割切片吗?
问题贡献者: Feeling 答题大佬: 独立的命令直接调用看到有例子写了不少但是集成进工程后怎么调用比较少资料好像 关于FFmpeg的资料比较少哦,这几条资料感觉还可以: https://blog.csdn.net/leixiaohua1020/article/details/47071547 https://github.com/chrisballinger/FFmpeg-iOS http://www.cocoachina.com/ios/20150514/11827.html 谢了,里面翻出来,感觉这个是我要找的,代码比较难懂要是swift的多好
28、 我这个搜索值是出来了。但是 键盘一直显示 怎么让键盘收回
问题贡献者: 김위청 答题大佬:群主 UISearchBar的键盘收回有这几种方式: https://blog.csdn.net/lianbaixue/article/details/8218075 https://www.jianshu.com/p/9c7eefbac989 @群主 这个有用swfit 写的吗? 有的:https://blog.csdn.net/potato512/article/details/52709696 searchbar.resignFirstResponder() searchbar.endEditing(true) self.view endEditing 那什么方法吗 相当于self.view.endEditing(true) 这么看我明白了
29、群主大大,没有做过经纬度轨迹纠偏的算法呀,高德自带的只支持驾车的环境,网上也看了一些,群主有没有呀,分享一下哇
问题贡献者:zhu 答题大佬:群主 网上有关于百度地图和高德地图的纠偏资料,请参考: https://blog.csdn.net/louyxlovess/article/details/53379556 http://www.cnblogs.com/milkmap/p/3627940.html https://blog.csdn.net/gatr/article/details/9569189
30、@酷课堂 Swift项目,首次编译时间8分钟左右。编译时间可以缩短吗?
问题贡献者: 诚绅 答题大佬:群主 @酷课堂 Swift项目,首次编译时间8分钟左右。编译时间可以缩短吗? 首次编译时间8分钟是有些长了,编译时间是由项目内容的多少和机器的配置决定的,如果项目内容无法删减,就只能升级机器配置了。 MacBook Pro2015款的(另外,我同事MacBook Pro是17款的,编译的时间也和我差不多) 除了删减内容还有其他办法吗? 还有一些技巧可以参考: https://juejin.im/post/5ad33a086fb9a028cf32ebe1 因为这是二次开发项目,删减代码和优化代码工作量都比较大,不可行。其他全模块优化什么的都做了。编译时间还是那样。Objective-C项目的编译时间就很短呀! Swift 编译器在保证运行时安全方面做的挺好,但是它的编译时间要比 Objective-C 编译时间长很多。Swift的类型推断和重载等新特性,都会消耗更多的编译时间。在不优化代码的情况下,目前貌似没有比较好的编译时间优化方案。随着Swift版本升级,希望能够提高它的编译效率吧。
分享一些实用小技巧:
1.uisearbar隐藏键盘,可以参考:
https://blog.csdn.net/lianbaixue/article/details/8218075
https://www.jianshu.com/p/9c7eefbac989
2. Xcode9.0写Swift的CGRect怎么那么难?
CGRect(x: x, y:y, width:w, height:h),括号里面的参数名还要一个个敲出来
输入CGRect(,然后Xcode会弹出提示,在提示列表中选择CGRect模板就可以了。
非常感谢,原来还可以这样操作,昨天找了半天没弄出来,直接封装成一个忽略显示参数的方法了。
3. 上传App Store被拒绝(用prefs:root,使App跳转至设置界面)。以前上传都没影响,这次突然不行了,咨询各位大神有替代方案没?
这里有解决方案https://community.apicloud.com/bbs/thread-89207-1-1.html
更多资讯:
1.程序员面试中,有些问题要这样答
https://www.jianshu.com/p/64c4af868137
2.眼巴巴的WWDC2018愿望清单http://coolketang.com/staticIOS/5b00d13c9f54540044d1ed4e.html
3.如何做一个优雅的程序员
http://coolketang.com/staticIOS/5afe244ca22b9d0044a116c7.html
4.2018 iOS 面试法宝+绝密文件http://coolketang.com/staticIOS/5aa717b89f545400455f3180.html
5.开发者将《午夜凶铃》与 ARKit 结合,把贞子带到你面前
http://coolketang.com/staticIOS/5a8f82bbac502e0032ba7516.html
6.UDP只能发送,接收不会写,这里有很多UDP相关的开源项目:
https://github.com/matzpersson/swift-udp
https://github.com/search?utf8=%E2%9C%93&q=swift+udp&type=
以上内容由@小课001爬楼整理,希望小伙伴的这些提问,对你有帮助/启发,感谢资源贡献者:Mi~/appleMan/赖着/蒋哥 精选在此,喜欢请收藏,给答题的各位大佬点赞!
酷课堂iOS交流群,聚集了一群热爱技术、有趣、有料,平均Q龄在10年以上的“老司机”,他们遍布在全国/球各地,有知名企业iOS工程师、高校大学生、自由职业者……如果你也是这样的人,欢迎加入我们一起畅聊iOS技术及周边。
来酷课堂,手把手带你学开发