• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >ios > 扩展extension方法的实现在哪里写?objective-c

扩展extension方法的实现在哪里写?objective-c

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-05

佚名通过本文主要向大家介绍了extension扩展包,extension扩展包下载,extension,extension manager,extension是什么意思等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 扩展extension 方法的实现在哪里写? objective-c
描述:

1.查资料:Extension常被称为是匿名的Category(比如:在字符串中类扩展extension,添加的属性str1和show方法都是私有的,
只能在String类中可以访问得到。
请问:我有个疑问:添加的属性,只能在string类中访问是什么意思?
我写了NSString+test.h 这个扩展。并加上了@property NSString *name这个属性。
在其他地方,我可以:NSString *str1 = @"hello ";
str1.name 可以访问。这算是访问吗?
2.扩展只有一个.h文件。如果我加上了一个方法。这个方法实现在哪个 文件中?

3.深拷贝,浅拷贝。只有不可变对像NSString 的copy是浅拷贝。其他的都 是深拷贝。这些面试题我准备了,都 了解了一下。
我想问,[str1 copy], [mutStr2 mutCopy] 这些有什么用呀?面试的时候问的多,但是实际中好像没怎么用到。
4.iOS设计模式之懒加载。我看到有这样 的介绍。设计模式有代理模式,MVC,单例,观察都模式。 懒加载 也是一种设计模式????!!!


解决方案1:

heathWang讲了前三个,我试试答最后一个。诚然,iOS在这方面混淆有点大。如你说的这些,懒加载、观察者、单例、代理是设计模式。而MVC、MVVM这样的叫做框架模式。而AFNetwork、Foundation这样的叫框架。

解决方案2:

category添加属性,是需要实现其getter/setter方法的
扩展只有一个.h文件。如果我加上了一个方法。这个方法实现在哪个 文件中?
实现当然是.m文件

当属性类型为 NSString 时,经常用此特质来保护其封装性,因为传递给设置方法的新值有可能指向一个 NSMutableString 类的实例。这个类是 NSString 的子类,表示一种可修改其值的字符串,此时若是不拷贝字符串,那么设置完属性之后,字符串的值就可能会在对象不知情的情况下遭人更改。所以,这时就要拷贝一份“不可变” (immutable)的字符串,确保对象中的字符串值不会无意间变动。只要实现属性所用的对象是“可变的” (mutable),就应该在设置新属性值时拷贝一份。


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 扩展extension方法的实现在哪里写?objective-c

相关文章

  • 2017-06-05 请问这种带尖角的view有什么好的实现方法
  • 2017-06-05 sc.12530怎么用flatlist替换scrollview?
  • 2017-06-05 一个textView里面的内容高度明明比textview小,却还是会滑动的问题
  • 2017-06-05 IOSself-sizingtableViewcell情况下约束好一个控件后,如何再次改变它的约束?
  • 2017-06-05 从零开始制作2048游戏
  • 2017-06-05 七牛图片上传成功后根据返回地址无法获取图片,之前都是好的
  • 2017-06-05 iosAPP能不能打开微信然后通过微信跳转到指定的URL?
  • 2017-06-05 gps设备如何判断iOS设备gps的信号强度
  • 2017-06-05 正比例反比例iOS单例创建的一点疑惑
  • 2017-06-05 activity生命周期[iOS]监视某个VC生命周期函数

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 请问如何禁用当前控制器的侧边右滑pop手势?当前VC是push过来的
    • 怎么刷新页面IOS表格刷新以后为什么页面会上下的不规则移动
    • cell中放tableview,如何解决cell中tableview和外部tableview之间的手势冲突。
    • 个人的开发者账号,写练手demo,在命名BundleIdentifier时候显示无法自动配置证书
    • 中高端电脑配置xcode4中配置Three20开发环境
    • iOSUIBezierPath画线如何删除已有的线
    • 在使用七牛的PLStreaming推流时每次第一次推流会失败,重连也不行,退出Viewcontroller就正常了,是什么问题
    • 当前页面的脚本发生错误iOS表格刷新后页面的位置会改变
    • 如何发送邮件iOS如何发送scoket进行广播
    • 别人的ios项目拿到自己的电脑编译报错

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有