白痴何止三个,重新思考

2019-10-13 作者:内地影视   |   浏览(57)

很久之前看了这部电影,绝对很挺不错,没有仔细思考。
最近在知乎发现一个问题:
在回答这个问题的时候,我突然开始有点明白了什么了。
今天想起来《月球》这部电影,如果一个人100%的完全copy一份,那么每一份新人都自己是真实的,都不会认为自己是一份copy。
所以什么是我?
我们延伸思考一下,这个世界的所以人类岂不是都是一份copy,那里面的“我”岂不都是自己吗?!

NSMutableArray问题

 很久很久,我都没有像这样,为了一部电影,憋住尿了。真的,这部影片完全吸引了我,连撒尿的工夫都不忍错过。
     我有一个观点:可以哭着诉说的痛苦都不是痛苦,而笑着说的痛苦才是真的痛苦。这个观点我其实有受王小波的影响,在他的作品里,如《黄金时代》,时代,人物,理想,信念,希望等等等都是惨淡的,可是他的笔触充满了黑色幽默,让人看了忍俊不禁又感慨万千。这样幽默的态度,其实是对痛苦的深刻觉醒,看穿了体制的悖论,看穿的人性的愚昧,看穿了世界的荒谬。可是那又怎么样?并不是说明我看透这些就可以牛逼了。其实我释然了,正是因为这种释然的感觉,我不再痛苦了。我用这种幽默的方式来诉说痛苦,嘲解痛苦。
      这部电影的题材可谓相当严肃:教育问题,家庭问题,爱情问题,友情问题,还有关于体制问题。这么复杂的几个元素揉在一起,却丝毫不乱,都一一被兰彻化解。在嬉笑怒骂中完成了对每个问题的深刻见解。一部电影,往往能够讲明白一两个问题就可以算是伟大。这部电影虽然理想主义色彩浓了点,可是它对这些问题的观点以及解决都很有新意。
     白痴何止三个?我也只有在时光上敢这么说。自从我来到大学,我才猛然发现,原来这是一所弱智工厂。竟然有这么多人在做毫无意义的事情!学生会的家伙们皮鞋程亮,油头粉面,从学弟学妹们的盲从中找做大明星的感觉,却从来不知道他们只不过在勾心斗角自说自话。前三排的女生永远在认真的学习,考证考证再考证,却从来没想过自己究竟想要什么样的生活,不知道什么证是有用的,什么是没用的,也许只有等若干年后自己的儿子问她数学题的时候才会幡然醒悟。总有那么几个寝室,通宵达旦,打牌赌钱,娱乐消遣,却从来没有得到真正的友谊。还有几个混子,整体大大咧咧,好像他就是老大,一呼百应,却从来没有赢得人们的尊重,只会有人在背后骂他傻逼。还有我同寝室的两个哥们,一个每天回来一定要吹嘘一下今天和女朋友打炮什么的,我很无语;而另一个则20年来从来没有争取过什么事情,一味奉承简简单单就是快乐的真理,却不知道他错过了痛苦的机会,认识真理的机会,成长的机会。哦对了,还有无数个路人甲路人乙,你们又在干什么呢?没人会在乎的。所有人,都以为自己占了便宜,却不知道自己已经丧失了一种最宝贵的能力:独立思考。不懂得独立思考的人,其实与机器无异。你在学习,其实你只是把别人的思考copy到了自己脑子里,所以你是复印机;你在考无数的证,其实你考不出体制的旋窝,所以你是个八缸发动机;你为了打炮而恋爱,所以你就是个种马;你混到了学生会的干部,其实你根本没干过一件实实在在的事情,所以你就是个花瓶,迟早被抛弃;你以为你简简单单什么都不想,就可以快乐,这更是大错特错,真正的快乐只存在于痛苦之后,没有痛苦的洗礼,快乐有什么意义可言,所以你只不过是个唱片机,唱出的快乐,却是别人的快乐。至于那些路人甲路人乙路人丙丁卯们,你们什么都不是。
      很抱歉说了这么多。看完这部电影,我感动了,笑了,思考了。最重要的是,我还可以拿这部电影给我爸看,让他多理解我一些。可是很多人不都是这样吗?道理谁都懂,可是都在装作不懂,继续着他白痴的生活。。。

上图是定义一个不可数对象mutableArray,使用copy来声明所使用的代码。

1

所报的错如上图,意为:在NSArray这样的类型中,找不到removeObject:方法。为什么会出现这样的错误呢?相反,如果使用strong来声明的话就不会出错。

综合上诉,通过思考会明显看出有两个问题:
1、为什么使用copy会报错,使用strong却不会。
2、为什么报错会报在NSArray中,无法找不到removeObject

根据这两个问题,我们就可以思考,修饰词copy和strong有什么区别呢?为什么copy后报错会是NSArray,无法找到removObject呢,是不是copy时生成了NSArray?所以解决这两个问题,我们就能知道为什么不能用copy这个关键字了
我们做iOS开发的大致都对这个了解,再科普一下这两个的关系和区别。

copy和strong的区别:copy赋值时会开辟一个新的内存区域,而 strong 则不会。使用 copy 可以防止不可变的属性被赋值的是可变的数据时,因可变数据的改变而改变属性的值
self.mutableArray = [[NSMutableArray alloc] initWithArray:@[@"1",@"2",@"3"]];

这句代码开辟内存空间赋值给self.mutableArray. 你用self.array = 是通过setter方法来给mutableArray赋值,而你又给这个setter方法设置copy(_mutableArray = [mutableArray copy]),而经过copy生成的mutableArray指针指向的是一个不可变数组,这时你在调用removeObject或add方法,肯定会出问题,并且会报出上面所出现的错误“unrecognized selector sent to instance”。所以我们应该知道为什么用copy会产生内存泄漏的问题,而strong却不会。

本文由mg4355娱乐发布于内地影视,转载请注明出处:白痴何止三个,重新思考

关键词:

  • 上一篇:没有了
  • 下一篇:没有了