美文网首页
UI界面基础

UI界面基础

作者: HQQ_哈球球 | 来源:发表于2019-04-12 17:57 被阅读0次
  1. 方法增加连线返回值关键字 IBAction
  2. UI控件增加连线关键字 IBOutlet
  3. 为什么xib拖拽的UI控件用weak
"循环引用是指 A持有B 然后 B又持有A , 你中有我,我中有你"
 例如:self.view持有一个button, 
 [self.view addsubView:button]; 
 self.view 持有了 button , button 并不持有self.view,并不构成循环引用.
 那为什么用weak:
 因为view持有subviews数组,subviews数组对其中的对象为强引用,而xib拖拽控件会默认加入到subviews数组中,此时如果拖拽的ui控件使用strong,会造成多次强引用.
20180212162157634.jpg
  1. **纯代码创建UI控件到底应该用strong还是用weak **
 推荐使用weak , 因为UI控件肯定最终会加载到self.view上形成一个强引用,如果使用strong,控制器会持有一次,self.view又持有一次.多次强引用了.虽然不会产生太大的问题,但是不符合OC的引用计数规范.

注意通过代码创建会有这样的问题,weak创建后因为没有强引用,创建即释放了.

1.png

所以需要,避免创建即销毁.


4.png

注意点击按钮输出的self.weakbutton的内存地址


2.png

点击后输出self.weakbutton为null,就是因为没有强引用而导致地址为null.
添加之后,正常. 完美而且只有一个强引用.


3.png

参考:https://blog.csdn.net/wangjunling888/article/details/51355504
https://www.jianshu.com/p/adbf1ed14ffc

相关文章

  • UI界面基础

    方法增加连线返回值关键字 IBAction UI控件增加连线关键字 IBOutlet 为什么xib拖拽的UI控件用...

  • 零基础如何转行UI设计?

    零基础如何转行UI设计? 1.UI设计它是什么? UI 即User Interface(用户界面)的简称。而UI设...

  • Flutter - UI基础

    Flutter基础组件用Flutter构建漂亮的UI界面 - 基础组件篇Flutter滚动型容器组件 - List...

  • IOS规范,扎实基础(1)

    目录: UI Bars UI Views (用户界面视图) UI Controllers (用户界面控件) UI ...

  • ios-梳理-ios基础

    这些基础是必须掌握的! ios基础--UIView UIView是做UI界面的基础,这里不啰嗦常用的控件UITab...

  • 10、UI界面编程基础

    UI界面编程 - 1. UIDevice、UIScreen - 2. UIView、 UIWindow - 3...

  • jQuery UI 、 开发插件 、HTML5新表单

    一、jQuery UI jQuery UI 则是在jQuery 基础上开发的一套界面工具,几乎包括了网页上你所能想...

  • 学习 jQuery UI

    jQuery UI 是以 jQuery 为基础的开源 JavaScript 网页用户界面代码库。包含底层用户交互、...

  • 带你深度了解UI设计

    UI设计是什么? UI是用户界面(User Interface)的简称,指的是用户操作界面。UI设计,也称界面设计...

  • 新手怎么开始做UI--移动UI设计规范整理(一)

    有一些平面设计转UI设计,或者有软件基础想做UI的童鞋,不知道如何开始做移动UI界面。经常会有困惑,比如: “手机...

网友评论

      本文标题:UI界面基础

      本文链接:https://www.haomeiwen.com/subject/imkhwqtx.html