不知道有没有跟我遇到同样的错误,今天研究一下为什么。
self.view.frame.size.width = 20;
当我们这样去写上面的语句的时候会报错Expression is not assignable。为什么会这样,起始还是对OC理解的不够透彻,分析一下他的语句,
self.view是利用点语法调用view的getter 方法,然后view调用frame的getter方法,也就是这种形式
[[self view] frame]
但是到了frame这之后,就不能再这么调用了,因为frame是一个结构体,而之前通过点语法获取到的是函数返回值,所以你不能再将一个值赋值给函数返回值。

就是这样,你需要通过一个临时变量,像这样

CGRect tmpFrame = CGRectMake(0, 0, 20, 10);
self.view.frame = tmpFrame;CGSize tmpSize = CGSizeMake(20, 20);
CGRect frame;
frame.size = tmpSize;
self.view.frame = frame;

Expression is not assignable相关推荐

  1. iOS开发初级错误 Expression is not assignable

    当我们想要修改CGSize,CGRect中的某个参数时我们会这样写:self.view.frame.size.height = 10.f; 编译器会报错:'Expression is not assi ...

  2. Expression is not assignable 问题分析及解决方案

    在写代码的过程中,报"Expression is not assignable",意思是表达式不可赋值,但是感觉自己的想法明明是没问题的,上代码看一下: self.button.f ...

  3. Objective-C之报错:Expression is not assignable.

    最近开始着手计划在学习原生语言 Objective-C,一路上遇到的坑,我也会一一记录下来,都是一些踩坑的经验.因为总有那么一天,会有人因为看到我写的某篇技术博客,而受益良多.会更加激励自己不断前进. ...

  4. iOS开发OC基础:Xcode中常见英文总结,OC常见英文错误

    在开发的过程中难免会遇到很多的错误,可是当看到系统给出的英文时,又不知道是什么意思.所以这篇文章总结了Xcode中常见的一些英文单词及词组,可以帮助初学的人快速了解给出的提示.多练习,就肯定能基本掌握 ...

  5. 《C++ Templates》笔记 Chapter 12 Fundamentals in Depth-Chapter 13 Names in Templates

    文章目录 Chapter 12 Fundamentals in Depth 12.1 Parameterized Declarations 12.1.1 Virtual Member Function ...

  6. iOS开发-技术知识盘点总结(二)

    1> UINavgationController使用 导航控制器之间切换供用一块导航条! 导航条的内容由栈定控制器决定! 显示在我们眼前的永远是栈顶控制器! 左上角的返回按钮文字是特例由上一个控 ...

  7. Xcode中常见英文

    expression:表达式 assignable:赋值 variable:变量+ redefinition:重复定义 type:类型 conflicting:冲突项 invalid:无效的 conv ...

  8. c语言在windows和mac,c语言在windows下和Mac下的不同表现!

    最近给一个等级考试的C语言培训班上课,学生问起一些++的问题.让我好生为难.因为这些不同的编译器处理方式,在不同的系统下表现并不一致. 不管你洋洋洒洒论述多么一大篇,在事实面前就一下显得苍白了.虽然这 ...

  9. spring基于5.3.0GA版本-笔记

    Spring 框架的作用:解耦和(降低耦性) 形成生态(让更多的人用或者使用的人很多,说明这个东西很好) 一.spring初识 1.1.框架 人话: 举个例子,现在的楼盘都相当于毛坯房,我们买到的毛坯 ...

最新文章

  1. C. Little Girl and Maximum Sum【差分 / 贪心】
  2. Swift 中如何测试驱动开发
  3. skywalking告警相关配置
  4. Web使用热敏打印小票(IE环境)
  5. pythone函数基础(11)读,写,修改EXCEL
  6. MIT算法导论(一)——算法分析和引论
  7. svm分类器训练详细步骤_「五分钟机器学习」向量支持机SVM——学霸中的战斗机...
  8. 山东省计算机考试无法报名,山东省2017年9月全国计算机等级考试报名事项公告...
  9. 奉劝那些想学编程的人
  10. 天津知青网6周年网庆-京剧-智取威虎山片段
  11. 解析5G背后的核心技术:波束成形
  12. 第六篇 :微信公众平台开发实战Java版之如何自定义微信公众号菜单
  13. 关于opencv设置视频的属性无效问题
  14. HAProxy + Keepalived实现MySQL的高可用负载均衡
  15. devgis分享 只分享有价值的东西!http://download.csdn.net/user/devgis
  16. 2.运筹学上课复盘 之 单纯性法的原理 + 两阶段法 + 解的类型
  17. 第十五章 友元、异常和其他
  18. 转:无损压缩和有损压缩
  19. 哇哦,教你如何使用jumpserver堡垒机添加windows资产
  20. SAP Portfolio Analyzer 中 索提诺比率(Sortino Ratio)

热门文章

  1. 基于微信小程序食谱大全系统(微信小程序毕业设计)
  2. 优秀github博主
  3. 各国疫苗接种进度(气泡图可视化)
  4. v-if和v-show能和v-for同时出现吗?
  5. Android平台开发指导(Android Porting Guide)
  6. Opencv学习笔记——图像基本操作
  7. 删除数组中的重复项(保留最后一次出现的重复元素并保证数组的原有顺序)
  8. 一维数组中重复元素的去除
  9. 英特尔发布Xeon D-1600处理器:10nm工艺 性能提升40%
  10. python下划线怎么输入_python中下划线的用法