2018/6/28lesson

Jul 21, 2018

2018/6/28

记录一下这几天的事
之前从粉粉离职,原因有很多很多方面导致我在这大热天毅然决然的选择离开.

  1. 工资从未提升,哪怕变动或者变少都行,表示公司有一定考核.
    2.周末采取单双休,双休的时候感觉太幸福了;单休的时候,周日等于没有休息,等于连上12天班。饥饿策略。
  2. 项目采用快速迭代策略,2周一版本,代码质量要管控、逻辑要管控、需求没有明确特别是需求不明确,做到一定才发现有些有冲突,或者有些和另外东西结合了,或者导致另外东西也要变动,然而时间也是被一并算进迭代版本里面。正如最后要走时,旭哥和我开玩笑的说‘在外面公司好点,因为他们不懂代码,粉粉技术懂,所以就会很紧,以后你就会舒服啦’。是的,他们懂代码他们也为我尽量宽松了些,但是细节可能在做到的时候才会碰到。
  3. 公司感受不到我的存在位置,我就是个码农?这不是我想要的。

进粉粉目的如同我刚上大学就知道自己绝不会考研一样:‘我是来学技术的’。学完如果公司还有我存在的意义,那么我会选择留下来,以上总总都没有。

后来和根根(前粉粉安卓组成员)聊天时,他说的也正是我明了的:粉粉 是不是觉得 举步维艰陷入泥潭一样?

所以我预算的最好的时间就是学完,前端学完,后端学完,溜了溜了。
期间面试了有十数家公司。

有+我才3个开发的公司,产品基本等于设想的。

有要做区块链 的公司(好多家都想蹭这个热度)

有做广告SDK 的(当时去到该处,我先看他们代码,告诉他们这要做什么,对我来说有什么理解、难处等等)

有做心理学社交的,我当时先让他电话面试,别他们觉得不合适,我就可以不用过去了

也有做公司产品+外包的

我拒绝了几个(3、4个,六月份找工作确实不好找)

我被拒绝了2次一个做医疗社交的,看他开价12 - 19,,又看到他们内部技术,我的天,那就意思意思17左吧,,真没漫天要价。一个做看小说的,似乎有个产品叫“漫画”似乎要很牛逼的,,我特么不写着我自己期望的嘛,你特么喊我过来,问的问题我以为什么鬼。搞得很牛逼的样子,反正不用理这个。继续自己的学习发展,确实很都比的人)

得到4、5个offer。最后来到一个也是做社交的小公司。正好可以把从粉粉学到的运用上去。

老实说,当时看到他们的代码,有种熟悉又不熟悉的味道。代码规范、格式,这里不存在的。创建者是个php 的小哥(即将离开),能力不咋滴(产品逻辑、规范、Wiki、流程都不知道)还拽的250似得。我也懒得和这种性格有缺陷的人多聊一会,问documents 有没有?不存在的,全部是3、4年前写的种使用字典;服务端也别想有documents。反正一团糟。哈哈。反正所有东西都是3、4年前那一套。

那我就慢慢来好了,我不急,急不来,自己好好规划规划就可以了。

来到这个公司,有几个特点。

优点:公司有自己目前主营业务。新来了个小哥php 、规范等和自己有共同语言,产品负责人和c 哥很像。多年产品人,设计,游戏设计。新来的那个小哥也做白鹭游戏,这个是我想要的。之后可能也会分配做些游戏。老板似乎是宁波人,公司方面也有和宁波政府合作。这个和我也有点想去宁波发展发展有点好处。额,还可以还可以。

缺点:确实没有粉粉明面上的热闹,进来之后感觉我有点无足轻重。技术垃圾到极点(目前都走光了,剩下产品大哥-长得有点像‘无所谓’的杨坤,和php 小哥)。老板性格、说话有点像干辉,哈哈。老板一点都不懂技术,但是比较会被技术说的云里雾里,然后似懂非懂。老板管理上不咋滴的。

好吧,吐槽吐槽就到这里了。不多说,溜了溜了。

UICollectionView addSubviews UIView 内部有autolayout CollectionView 视觉出bug

错误确定为:
CollectionView addSubviews 里面不能存在内部有约束的UIView。
否则其直接导致CollectionView 内部结构、内部约束直接紊乱。
其上的新增detailInfoview 有两种方法可以处理
1:如同当前新建view 处理,内部全部为frame 布局。目前来看似乎还不错
2:在CollectionViewLayout 上多流出来一个layoutAttributes,给第一个,然后frame 由代理DataSource 从controller 得到。这样等于得到一个特定cell

Xcode 插件还能用

curl -fsSL https://raw.github.com/alcatraz/Alcatraz/master/Scripts/install.sh | sh
但是提示 xcrun: error: unable to find utility “xcodebuild”, not a developer tool or in PATH

https://www.jianshu.com/p/ff1d99fe1d17

opened Xcode.
Preferences
Locations
Selected the Command Lin Tools: (选择xcode版本)

-> Alcatraz successfully installed!!1!🍻 Please restart your Xcode (9.4).

然后解决Xcode 8 之后不能使用Alcatraz

https://www.jianshu.com/p/0b541f145a1a

1
2
3
$ sudo gem install update_xcode_plugins
$ update_xcode_plugins
$ update_xcode_plugins --unsign

Choose which Xcode you would like to unsign (use arrows): Xcode (9.1) [Signed]: /Applications/Xcode.app
$ Y

似乎出现了Xcode 关闭之后,再打开,PackageManager 不见了。
解决请参考:

https://www.jianshu.com/p/a9448154c09e

之后确实都出来了,不知是否这个原因

iOS 转场动画

很久没有做转场动画了。这里把遇到的坑填一填。

如果程序中改变了某个空间的transform 不要使用frame;视觉bug 是其会变成CGRectZero

https://www.jianshu.com/p/9dfd337e8266
应该使用bounds+center

iOS 某个VC rotation 还有statusBar 状态

//http://www.jianshu.com/p/4196d7cf95f4
BaseNavigationViewController:

1
2
3
4
5
6
7
8
9
10
11
/*顶部状态栏 接下来会调用该viewController 的
- (BOOL)prefersStatusBarHidden {
return YES;
}
- (UIStatusBarStyle)preferredStatusBarStyle {
return UIStatusBarStyleLightContent;
}
*/
-(UIViewController *)childViewControllerForStatusBarStyle{
return self.topViewController;
}

程序默认为UIInterfaceOrientationMaskPortrait
那么在BaseNavigationViewControlelr

1
2
3
-(UIInterfaceOrientationMask)supportedInterfaceOrientations{
return UIInterfaceOrientationMaskPortrait;
}

在需要的ViewController加入:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
- (BOOL)shouldAutorotate {
return !self.isLocked;
}
//这个比较重要。这里告诉了system 当前到底支持哪些种旋转方式
- (UIInterfaceOrientationMask)supportedInterfaceOrientations {
if (self.isLocked) {
return UIInterfaceOrientationMaskPortrait;
} else {
return UIInterfaceOrientationMaskPortrait|
UIInterfaceOrientationMaskLandscapeLeft|
UIInterfaceOrientationMaskLandscapeRight;
}
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation
{
if (self.isLocked) {
return toInterfaceOrientation = UIInterfaceOrientationPortrait;
}else{
return YES;
}
return (toInterfaceOrientation == UIInterfaceOrientationPortrait);
}

以上即可在相关view 里面控制rotate。

最近老婆看电视剧太多又说不看了,我想到的是,又一个新的轮回开始了

2018/7/9
她说看太多不想看了。那我们来预测一下接下来她会怎么做,然后每天记录她当天的态度。

什么是新的轮回?那就是,难受,不看电视剧,所以连同什么综艺节目(跑男、唱歌的、宝宝剧场)都不会看。当然,对于黄妈肯定是一开始很义正言辞的。
于是最近的3天到5天(最长5天,不可能超过5天,这也要考虑进去周末休息日)她一天比一天难受。很想看,但是又还记得刚说过的话。
下一个阶段是工作回来太累了,回到家不知道干什么,毕竟工作属于需要静下心来的;于是她就花点时间做菜,做好吃的。这阶段属于过渡期,这几天饭菜之类的都会可口一些吧。
当然过渡期不能称为阶段,因为这很短,大约2天~3天。期间还会有不应期,菜饭做好吃好,不想写东西,又睡不着,此时还不能看任何视频,这就难受了。于是就趴在床上看淘宝。
腐女嘛,不是看视频就是看淘宝,看淘宝还不买的那种,因为她知道她没钱。我要是店主,我肯定不开淘宝店了。页面统计数据挺好看的,就是没人买->都是她这种小妮子光看不买系列。
下一个阶段就是有些忘记之前说过的话啦,没全忘记那种。在一起吃饭时,她会嘿嘿嘿的偷笑,拿出iPad,怼到我面前,就像是我们一起看,看综艺节目(当前还不敢看电视剧的)。看着看着,然后又趴到床上看淘宝。
接下来的2~3天左右就会发现她捧着iPad在床上看看综艺节目演变成偷偷看韩剧,这时回头看她,她是带着耳机的,时不时偷笑;说她的时候,她就会不好意思,然后又继续看,有时也会放下。此时她的睡眠也不会熬夜。
其实这阶段还属于偷偷看。不敢光明正大看,也不能不看,估计不看的话,会,会,会坏掉的。
再接下来,有两个阶段,可以合并为一个。
先是吃饭的时候看韩剧,一起看一起看(说实话,那些逗逼韩剧那么多人看,我都想转行拍片了,没技术没含量没思想)。然后就是,自己一个人在后面,边吃零食、边看电视剧啦。
快乐的一个人看电视剧,手边总有吃的。因为没有吃的,她会把吃的扒拉过来放在身边,没吃嗑一点。

实际:
第1~3天(7月9号为第1天):
第1天:
第1天晚上回去,一菜一汤。然后屁颠屁颠坐下来看看weex。由于立马不看电视剧,接口看了下QQ,点开了QQ空间,里面看了好一会视频。看到我喝酒,怕被我打,赶紧不看了。
接着又看了会weex,手机上开发者页面,这么小屏幕,肯定看不下去,于是东搞搞西搞搞,这晚就过去了。
比较关键的是,她自己不能看视频,还不让我打游戏,,,这神逻辑。我又没说我不打游戏。我打游戏休闲娱乐,她居然也不让我看。哈哈。
第2天:
第2天晚上回去,进门就看到她开始看综艺节目啦。看来之前多次轮循,现在比较明目张胆了。我一说之后,马上收起来,屁颠屁颠去拿饭吃了。
今天晚上她身体不舒服,搞七搞八,视频又不能看,于是吃完饭差不多9点多了,就自己睡着了。
第3天:
第3天晚上回去,你懂得,饭也没煮,一开门就看到她在那看电视剧了。
嘿,这个转换的快啊。她赶紧收起来,然后不好意思屁颠屁颠去给我热粥。我吃饭时,让她做code review。那个脾气倔的,嘴巴都嘟起来,一直抠脚。我的天,不过是聊聊天而已,说实话,心里有点晦气->什么鬼。
然后她跑上床,又开始看起来了。我说了三次她才停下来,厉害厉害。

第3天之后我就不必再写了,这人没救了。丢阿黄一个人在家,自己整天整夜看电视剧,沉迷的很。
最近工作也是不顺,整天还这么沉迷,“还一点点没看完,就快看完了”。
整天说,不准再打这么多游戏了;多写东西,别老打游戏;还撇着嘴,埋怨我整天打游戏。
我的天,我都很少打游戏好吧。
我打游戏有准则,她看视频都是没有限度的。她视电视剧犹如猛兽,所以老是说不看了,然而还是沉迷不止。
我觉得游戏是休闲,是比赛,我不觉得打游戏如何堕落。
她这简直是找抽。

申明init 入口

申明initWithURL:(id)xx 入口有两种方法。
1: initWithURL:(id)xx NS_DESIGNATED_INITIALIZER;使用宏提示其为为设计入口。
这时会出现:

如果用了NS_DESIGNATED_INITIALIZER,那么警告中出现init还是initWithNibName或是其它,取决于你的继承的父类类型:

UIViewController

Method override for the designated initializer of the superclass ‘-initWithNibName:bundle:’ not found
Method override for the designated initializer of the superclass ‘-initWithCoder:’ not found
UIView

Method override for the designated initializer of the superclass ‘-initWithFrame:’ not found
Method override for the designated initializer of the superclass ‘-initWithCoder:’ not found
NSObject

Method override for the designated initializer of the superclass ‘-init’ not found

那么就实现比如UIView 的

1
2
- (instanceType)initWithFrame:(CGRect)frame {return [self initWithURL:nil];}
- (instancetype)initWithCoder:(NSCoder *)aDecoder {return [self initWithURL:nil];}

2: 把其他的入口设置为NS_UNAVAILABLE

这几天上传两个APP 收到2.1 拒绝大礼包

  1. 首先是我写的一个房产计算器的项目。
    一开始是因为在标题里面有免费的字样,去掉之后就出来2.1 大礼包了。
    2.1 礼包说我这可能有隐藏功能、有贷款方面东西。

我回复邮件说,我这绝对没有隐藏功能,也没有贷款方面的东西。因为觉得世面上的不好用、广告太多等,所以做了个这个功能。这个功能也是自主研发的,不是市面上的抄袭品。

  1. 还有一个涂色的项目。
    上来直接就是2.1 大礼包。
    我猜测原因是我展示页面出现免费字样,引导了用户。还有就是可能有隐藏功能。

目前这两个项目我都做了广告,所以也不具备广告功能。我回复涂色项目的,我们没有隐藏功能,免费是因为素材时设计师们的心血,但是为了分享这份灵感,所以使用免费,但是绝没有付费,更不用说,除苹果外的第三方付费了。
免费同时也因为市面上其他APP 都是要付费的,我们就专打免费策略。最后,我们删除了展示页面的那张带有免费字样的图片。

最后再说一句:如果是原数据被拒绝,同时你认为不必要上传新的二进制,你就直接回复该邮件。
然后静静等待,不需要点击#提交以供审核#。如果点了,那么相当于重新审核,可能会等待7~8天。
相关帖子:http://www.cocoachina.com/bbs/read.php?tid-298671-page-1.html