IOS为啥我在本类的用什么方法去掉咖啡斑掉不出来啊

后使用快捷导航没有帐号?
你所在的位置: &
& 我IOS卡门已经解决了,分享一下我的办法。 ...
我IOS卡门已经解决了,分享一下我的办法。
发帖一直没人回,我打过2次客服电话,了解到可能如果是某地网络运营商多次出现某问题,他们会去找运营商解决问题。所以不知道是炉石方便去解决了,还是我这样整了一下就可以进游戏了。
不过我没这样弄一下,还是一直卡门的。分享一下我的办法
首先,用卡门的设备(比如手机卡门就用手机)进入“技术支持区”,找置顶帖”【测试专用】用户协助测试说明 ”。
然后帖子里有个红色的“Look-glass暴雪网络诊断工具。 ”
点那个,然后选炉石传说,3个勾都打勾。然后测试。
测试结束之后去 app store下载炉石传说,下载成功之后就可以进了...
我2个手机原本卡门,有一个下载中途失败了,我试过继续下载,然后打开还是卡门的。
必须重新下...最好是顺利的一次下载成功
? 就是说 要删除炉石 ?
有什么用。 一样 没登陆界面
? 就是说 要删除炉石 ?
简单说就是先去测试一下,然后删除重新下载
有什么用。 一样 没登陆界面
你试了么,我反正2个手机都解决能登了。实在不行你就打客服电话
我试过了 。 一样 卡门。&&
删除 游戏, 去测试 。 测试完 然后 苹果商店下载。
结果 还是那样。 没 输入帐号的地方。
15:06 上传
SuperNinja 发表于
你试了么,我反正2个手机都解决能登了。实在不行你就打客服电话
客服我 等过 30分中。 结果说去反馈 。 点了满意后, 后台的表单说已经解决。 我去。
网上 客服 再把 电话客服问的问题 再问一遍。
最后的 一个客服 可笑的答案说 , 我的 手机坏了 。
那么多人 有问题。 就是说 所有人手机 都集体 坏了 。 那么巧?
最后的 一个客服 可笑的答案说 , 我的 手机坏了 。
那么多人 有问题。 就是说 所有人手机 都集体 坏了&&...
你这个有客服有点扯哦 反正现在遇到的都比较敷衍 你要加我qq吗?我们qq上聊
我也试过 监测后重新下载 我是iPad 用户 然并卵 不过还是谢谢楼主分享。 卡了这么多天没一个客服出来解决的,花了不少钱 就得到这样的售后也是醉了。
看来 。 发现染并暖的 人 不止我一个。 谢谢 。
就是这个呀
15:37 上传
那可能我这里好了应该是广东电信这边已经解决了,就去那个贴按照流程反馈一下。那个帖子就是解决卡门用的,发测试结果到邮件去。电话客服那边给我接了一个说是上级的人,给我解释了卡门是什么原因,说你手机坏了的那个,绝对是客服在扯..除非就是你和他说手机网络有出现问题。
我当时还没发邮件,测试玩试了下游戏还是卡门,索性试了下重装,没想到就好了。
既然你们试了没用,本来是打算删帖的,没想到不能删,那就放着吧,我也不来跟进了,我又不是客服。
还卡门的各位,要么就是等,要么就是打客服电话,记得说的详细,好跟进这个问题。
我问了为什么论坛说卡门的贴没一个人回,他说因为这个有官方贴所以没有人回。听了能理解但还是很郁闷的。
卡门的问题刚解决了,我先是升级了pad系统到最新版的ios9,以前是7.1,系统升级完我试了下还是卡门,然后用楼主的方法测试了下,我游戏也没删测试的,测试后又尝试登陆了游戏,等了大概二十秒居然弹出了输入账号的界面,重新输入账号登陆进入了游戏,终于解决了,也谢谢楼主了!
5s IOS7.12要是升级9.3.4,这手机就废了。。。。
豆豆羊 发表于
<font color="#s IOS7.12要是升级9.3.4,这手机就废了。。。。
对呀 。 人家都说不能升级 版本。 虽然不知道为什么 。 但是 还是不敢
Ajax 发表于
卡门的问题刚解决了,我先是升级了pad系统到最新版的ios9,以前是7.1,系统升级完我试了下还是卡门,然后用 ...
pad 升级 不卡吗 ? pad 什么型号 。 准备 买 pad , 在考虑 安卓 苹果 系统。
不能玩炉石的 平板 要他有何用。
我也是7.1.2的版本,难道这个版本不行么?版本不能升啊,不然手机会卡死的…以后特别特别卡,但不升貌似玩不了啊…难道不能修复么…不过还是顶下楼主,马上去试下,但这么多相同问题的人,觉得还是不孤独的
有没有啊,我从八月卡门到现在,什么啊,简直搞不成嘛!游戏做成这样我也是无语了!有客服帮我解决问题么?网上方法都试了,然并卵啊!我邮箱qq.com
已经证明是运营商问题,切换热点尝试就好了
暴力威胁。我们将严肃对待此类行为,并会上报有关部门。
发布的主题中包含其他玩家的个人信息。包括实际地址、邮箱地址、电话号码及不当的照片和/或视频。
骚扰或歧视性用语。此类言辞将不允许出现。
点击显示论坛主题发布规则
积极健康的游戏心态是健康游戏的开端,本游戏故事情节设置紧凑,请您合理控制游戏时间,避免沉溺游戏影响生活,注意自我保护,防范网络陷阱。
健康游戏忠告:抵制不良游戏,拒绝盗版游戏。注意自我保护,谨防受骗上当。适度游戏益脑,沉迷游戏伤身。合理安排时间,享受健康生活。在iOS项目不用代理的情况下,还用创建@protocol类去抽象出方法吗,就像java中的interface一样
[问题点数:40分]
在iOS项目不用代理的情况下,还用创建@protocol类去抽象出方法吗,就像java中的interface一样
[问题点数:40分]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
匿名用户不能发表回复!|iOS常用类方法的调用顺序 - 简书
iOS常用类方法的调用顺序
UIApplication
执行顺序:
13:58:37.681 HBLifeCircleTest[] -[AppDelegate application:didFinishLaunchingWithOptions:]
13:58:37.685 HBLifeCircleTest[] -[AppDelegate applicationDidBecomeActive:]
//点击home键
14:00:06.786 HBLifeCircleTest[] -[AppDelegate applicationWillResignActive:]
14:00:07.503 HBLifeCircleTest[] -[AppDelegate applicationDidEnterBackground:]
//点击应用
14:00:11.134 HBLifeCircleTest[] -[AppDelegate applicationWillEnterForeground:]
14:00:11.647 HBLifeCircleTest[] -[AppDelegate applicationDidBecomeActive:]
//双击home退出
14:00:19.463 HBLifeCircleTest[] -[AppDelegate applicationWillResignActive:]
14:00:28.677 HBLifeCircleTest[] -[AppDelegate applicationDidEnterBackground:]
14:00:28.680 HBLifeCircleTest[] -[AppDelegate applicationWillTerminate:]
IOS的应用程序一共有5种状态。
Not running(未运行):程序未启动
Inactive(未激活):其他两个状态切换时出现的短暂状态。唯一在此状态停留时间比较长的情况是:当用户锁屏时?或者系统提示用户去响应Alert窗口(如来电、信息)时
Active(激活):在屏幕上显示的正常运行状态,该状态下可以接收用户输入并更新显示
Backgroud(后台):程序在后台且能执行代码。用户按下Home键不久后进入此状态(先进入了Inactive状态,再进入Background状态),然后会迅速进入挂起状态(Suspended)。有的程序经过特殊的请求后可以长期处于Backgroud状态
Suspended(挂起):程序在后台不能执行代码。普通程序在进入Background状态不久后就会进入此状态。当挂起时,程序还是停留在内存中的,当系统内存低时,系统就把挂起的程序清除掉,为前台程序提供更多的内存
关于Active和Inactive的切换:
应用程序在前台时有2种状态:Active和Inactive。大多数情况下,Inactive状态只是其他两个状态切换时出现的短暂状态(不是任意两个状态之间的切换都会进入Inactive,见图),如打开应用,它会从Not Running先进入Inactive再进入Active;如前后台应用切换时,Inactive会在Active和Background之间短暂出现。但是也有其他情况,Active和Inactive可以在前台运行时进行切换,比如系统弹出Alert,此时应用会从Active切换到Inactive,直到用户确认再返回Actvie;再如用户拉下通知页,也会发生Active和Inactive的切换;还有来电但拒接、双击Home键但返回原应用等都不进入Background,而只是在Active和Inactive切换。
状态切换图
1.application:didFinishLaunchingWithOptions:
程序首次已经完成启动时执行,若直接启动,launchOptions中没有数据;否则,推送,3Dtouch等方式打开应用。launchOptions将包含对应方式的内容。
2.applicationWillResignActive(将进入后台)
程序将要失去Active状态时调用,比如按下Home键或有电话信息进来。对应applicationWillEnterForeground(将进入前台),这个方法用来
暂停正在执行的任务;
禁止计时器;
减少OpenGL ES帧率;
若为游戏应暂停游戏;
总结为一个字:停!
3.applicationDidEnterBackground(已经进入后台)
程序已经进入后台时调用,对应applicationDidBecomeActive(已经变成前台),这个方法用来
释放共享资源;
保存用户数据(写到硬盘);
作废计时器;
保存足够的程序状态以便下次恢复;
总结为4个字:释放、保存!
4.applicationWillEnterForeground(将进入前台)
程序即将进去前台时调用,对应applicationWillResignActive(将进入后台)。这个方法用来撤销applicationWillResignActive中做的改变。
5.applicationDidBecomeActive(已经进入前台)
程序已经变为Active(前台)时调用。对应applicationDidEnterBackground(已经进入后台)。若程序之前在后台,最后在此方法内刷新用户界面。
6.applicationWillTerminate
程序即将退出时调用。记得保存数据,如
其他类使用相应NotificationCenter通知来感知这些状态变化。
UIViewController
当一个视图控制器被创建,并在屏幕上显示的时候。 代码的执行顺序
创建对象,分配空间
2、init (initWithNibName) 初始化对象,初始化数据
3、loadView
创建self.view
4、viewDidLoad
载入完成,可以进行自定义数据以及动态创建其他控件
5、viewWillAppear
视图将出现在屏幕之前,马上这个视图就会被展现在屏幕上了
6、viewDidAppear
视图已在屏幕上渲染完成
7、viewWillDisappear
视图将被从屏幕上移除之前执行
8、viewDidDisappear
视图已经被从屏幕上移除,用户看不到这个视图了
9、dealloc
视图被销毁,
VC2 popTo VC1
17:32:30.767 HBNavigationBarDemo[8] 111-[ViewController viewDidLoad]
17:32:30.768 HBNavigationBarDemo[8] 111-[ViewController viewWillAppear:]
17:32:30.801 HBNavigationBarDemo[8] 111-[ViewController viewDidAppear:]
17:32:31.739 HBNavigationBarDemo[8] 222-[ViewController2 viewDidLoad]
17:32:31.739 HBNavigationBarDemo[8] 111-[ViewController viewWillDisappear:]
17:32:31.741 HBNavigationBarDemo[8] 222-[ViewController2 viewWillAppear:]
17:32:32.247 HBNavigationBarDemo[8] 111-[ViewController viewDidDisappear:]
17:32:32.247 HBNavigationBarDemo[8] 222-[ViewController2 viewDidAppear:]
17:32:33.060 HBNavigationBarDemo[8] 222-[ViewController2 viewWillDisappear:]
17:32:33.060 HBNavigationBarDemo[8] 111-[ViewController viewWillAppear:]
17:32:33.563 HBNavigationBarDemo[8] 222-[ViewController2 viewDidDisappear:]
17:32:33.564 HBNavigationBarDemo[8] 111-[ViewController viewDidAppear:]
2 PanGesture confirm pop
//panGesture began 触发
17:41:25.917 HBNavigationBarDemo[8] 222-[ViewController2 viewWillDisappear:]
17:41:25.917 HBNavigationBarDemo[8] 111-[ViewController viewWillAppear:]
//panGesture end 触发
17:41:28.232 HBNavigationBarDemo[8] 222-[ViewController2 viewDidDisappear:]
17:41:28.232 HBNavigationBarDemo[8] 111-[ViewController viewDidAppear:]
2 PanGesture cancel pop
//panGesture began 触发
17:39:59.035 HBNavigationBarDemo[8] 222-[ViewController2 viewWillDisappear:]
17:39:59.035 HBNavigationBarDemo[8] 111-[ViewController viewWillAppear:]
//panGesture end 触发
17:40:01.382 HBNavigationBarDemo[8] 111-[ViewController viewWillDisappear:]
17:40:01.382 HBNavigationBarDemo[8] 111-[ViewController viewDidDisappear:]
17:40:01.382 HBNavigationBarDemo[8] 222-[ViewController2 viewWillAppear:]
17:40:01.382 HBNavigationBarDemo[8] 222-[ViewController2 viewDidAppear:]
pop成功后delloc方法最后调用
model present
17:53:44.998 HBNavigationBarDemo[5] 111-[ViewController viewDidLoad]
17:53:44.999 HBNavigationBarDemo[5] 111-[ViewController viewWillAppear:]
17:53:45.045 HBNavigationBarDemo[5] 111-[ViewController viewDidAppear:]
//点击按钮触发present VC2
18:01:33.213 HBNavigationBarDemo[9] 222-[ViewController2 viewDidLoad]
//触发操作后执行的代码
18:01:33.215 HBNavigationBarDemo[9] 111behind -[ViewController present:]
18:01:33.217 HBNavigationBarDemo[9] 111-[ViewController viewWillDisappear:]
18:01:33.236 HBNavigationBarDemo[9] 222-[ViewController2 viewWillAppear:]
18:01:33.739 HBNavigationBarDemo[9] 222-[ViewController2 viewDidAppear:]
18:01:33.739 HBNavigationBarDemo[9] 111-[ViewController viewDidDisappear:]
//complete block
18:01:33.739 HBNavigationBarDemo[9] block __26-[ViewController present:]_block_invoke
//关闭触发后的代码
18:04:11.705 HBNavigationBarDemo[7] 222behind -[ViewController2 close:]
18:04:11.706 HBNavigationBarDemo[7] 222-[ViewController2 viewWillDisappear:]
18:04:11.707 HBNavigationBarDemo[7] 111-[ViewController viewWillAppear:]
18:04:12.209 HBNavigationBarDemo[7] 111-[ViewController viewDidAppear:]
18:04:12.210 HBNavigationBarDemo[7] 222-[ViewController2 viewDidDisappear:]
//complete block
18:04:12.210 HBNavigationBarDemo[7] 222block __25-[ViewController2 close:]_block_invoke
18:04:12.210 HBNavigationBarDemo[7] 222-[ViewController2 dealloc]
UIScrollView代理方法
//只要滑动,就改变了contentOffset,就会调用此方法
- (void)scrollViewDidScroll:(UIScrollView *)scrollV
// 手指放在content上准备拖动
- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollV
//手指将要离开
- (void)scrollViewWillEndDragging:(UIScrollView *)scrollView withVelocity:(CGPoint)velocity targetContentOffset:(inout CGPoint *)targetContentOffset
//手指已经离开
- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)
//由于惯性还要再滑动
- (void)scrollViewWillBeginDecelerating:(UIScrollView *)scrollV
//惯性结束,停止滑动
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollV
UITableView代理方法
每次reloadData都会有以下的循环
1、numberOfSectionsInTableView
:此代理方法只执行一次,假如section=0,下面函数不执行,默认为1
2、heightForHeaderInSection
,执行section个数的次数,
3、heightForFooterInSection
4、numberOfRowsInSection
,执行section个数的次数
8、heightForRowAtIndexPath
,行高,先执行section=0,对应的row次数
9、cellForRowAtIndexPath
10、willDisplayCell
load方法:一个类被加载到runtime的时候调用
initialize:调用方法前最先执行的。线程安全的
喜欢总结下每天的收获
转自链接 http://www.ithao123.cn/content-1742914.html ·····················我是萌萌的分割线············································ [摘要:~~~~我的生存,我...
终于到了真正接触IOS应用程序的时刻了,之前我们花了很多时间去讨论C语言、ObjC等知识,对于很多朋友而言开发IOS第一天就想直接看到成果,看到可以运行的IOS程序。但是这里我想强调一下,前面的知识是你日后开发IOS的基础,没有那些知识你开发IOS会很痛苦,现在很多开发人员...
自从古老的iOS4以来,当用户点击home建的时候,你可以使你的APP们在内存中处于suspended(挂起)状态.即使APP仍停留在内存中,它的所有操作是被暂停的直到用户再次运行它. 当然这个规则中有例外情况.在特定的情况下,这个APP仍然可以在后台中执行某些操作.这个教...
苹果官网地址 Background Execution (后台执行)当用于没有-启动应用,系统移到后台状态。对于很多应用,后台状态只是一个简短的停留方式。悬挂程序是一个种方式去提高电池寿命,它同样允许系统去专注于重要系统资源用于一个新的前台程序当用于关注的时候(触发的时候)...
生命周期 2、简述应用生命周期 App启动:当App启动时,首先由not running状态切换到inactive状态,此时调用application:didFinishLaunchingWithOptions:方法;然后由inactive状态切换到active状态,此时调...
从此不再因为别人而心情起伏
1 数据库打开 创建一个sqlite3 对象sqlite3 * 2.插入数据 3.更新数据 4.删除数据 5.查询表 结果返回一个存放查询到数据的数组 6.删除表
前面学习的东西要抽时间复习,当复习后,你会发现当时铭记于心的东西是如此陌生,复习是有必要的,通过不断地复习把知识变成自己的。 封装:将方法和属性包装在类中进对外提供访问权限。 接收数据时一定要加上p.方法,因为main方法中没有get方法。
这是个全民自媒体的时代,每个人都可以透过自媒体发声。 各大自媒体平台上出现了各式各样的写作课程,光余叔知道的至少就有超过10位老师出来授课,而且卖的也很火爆。 说明”写作”这件事,已经被证实是有强烈的市场需求的。 要是在五年前你说写作能够赚大钱,估计没人会理你。 但自媒体的...
把窗户擦得发光,明亮 再缓缓聚拢黑夜,调和灯光 用衣物被子把自己覆盖 我只对自己,袒露清白 你从偏北的风里走来 收集的每一朵霜花吹落尘埃 我有浮沉的心事洒满月白 演绎成一轮莲花的开败 通向远方的路三千里开外 云是我一生壮志未酬的情怀 飞叶回旋终归寂静了对佛朝拜 一阵新凉的晚...主题 : 有个问题,调用了系统类的私有方法或者属性上架会被拒么
级别: 侠客
UID: 614190
可可豆: 307 CB
威望: 255 点
在线时间: 155(时)
发自: Web Page
来源于&&分类
有个问题,调用了系统类的私有方法或者属性上架会被拒么&&&
如题,我项目中有个地方调用了UITextField的私有属性clearButton,并对这个按钮进行了修改,会不会影响上架呢
级别: 侠客
UID: 614190
可可豆: 307 CB
威望: 255 点
在线时间: 155(时)
发自: Web Page
求大神解答。。。
级别: 新手上路
可可豆: 77 CB
威望: 77 点
在线时间: 300(时)
发自: Web Page
回 1楼(暗蓝琼玉) 的帖子
你是使用kvc强行修改的吗,还是使用其他方法修改的
级别: 侠客
UID: 614190
可可豆: 307 CB
威望: 255 点
在线时间: 155(时)
发自: Web Page
回 2楼(东边的风) 的帖子
用kvc拿到了这个按钮的对象,然后正常对这个按钮对象进行操作这段代码&&UIButton *clearButton = [text valueForKey:@&clearButton&];&&&&clearButton.hidden = NO;&&&&[clearButton setImage:[UIImage imageNamed:@&close&] forState:UIControlStateNormal];&&&&[clearButton setImage:[UIImage imageNamed:@&close&] forState:UIControlStateHighlighted];
级别: 新手上路
可可豆: 77 CB
威望: 77 点
在线时间: 300(时)
发自: Web Page
回 3楼(暗蓝琼玉) 的帖子
这样做不算调用系统似有方法,所以是可以的,不会别拒,你可以放心用。但是不推荐使用这种方法去修改系统属性,你可以使用text.rightView = clearButton(你自定义的button)这样更好。
级别: 侠客
UID: 614190
可可豆: 307 CB
威望: 255 点
在线时间: 155(时)
发自: Web Page
回 4楼(东边的风) 的帖子
那就好,那怎么会被拒呢,我之前这么写主要是因为只需要改个图片,自定义的话会麻烦些,就懒了一下。我是拿到了系统的私有属性,那什么情况是会被拒的呢,我想知道下,防止踩坑,求解答
级别: 新手上路
可可豆: 77 CB
威望: 77 点
在线时间: 300(时)
发自: Web Page
你被拒应该是其他原因吧,应为我项目里也是用过kvc强行改属性,但是不会被拒的。有哪些情况会被拒:一般使用会有安全问题是的API时可能就会被拒绝了,如获取本机号码,就会被拒;如现在的热更新JSPatch等。有热心的同学整理相关被拒条例你可以看看,连接如下:
级别: 侠客
UID: 614190
可可豆: 307 CB
威望: 255 点
在线时间: 155(时)
发自: Web Page
回 6楼(东边的风) 的帖子
我没有被拒,刚写了这个,担心会因为这个被拒,谢谢你,我去看看
级别: 新手上路
可可豆: 77 CB
威望: 77 点
在线时间: 300(时)
发自: Web Page
回 7楼(暗蓝琼玉) 的帖子
你也不用太担心,只要不要太无法无天一般不会被拒的
关注本帖(如果有新回复会站内信通知您)
发帖、回帖都会得到可观的积分奖励。
按"Ctrl+Enter"直接提交
关注CocoaChina
关注微信 每日推荐
扫一扫 关注CVP公众号
扫一扫 浏览移动版类方法能否访问自己的属性
类方法不能直接访问自己的属性
self.iconImageA不能用self访问。
在类方法中要访问自己的属性,必须要在类中实例化一个对象,然后再调用;
如下方代码:
FirstTableView1.m
xxtnm_iOS_con
Created by xxt-imac on 16/1/21.
Copyright (C) 2016年 内蒙校信通. All rights reserved.
#import "FirstTableView1.h"
@interface FirstTableView1()&UITableViewDataSource,UITableViewDelegate&
@property(strong,nonatomic)NSArray *iconImageA
@implementation FirstTableView1
+(instancetype)initWithFirstTableView:(UITableView *)tableView andViewController:(UIViewController *)viewController andIconArray:(NSArray *)iconArray andTitleArray:(NSArray *)titleArray
FirstTableView1 *tab = [[FirstTableView1 alloc]init];
tab.iconImageA
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
return 10;
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
NSString *cellID = @"cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellID];
if (cell == nil) {
cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellID];
下方这个就是我所说的,不过这样调用并没有什么卵用,要想调用自己的属性,最好还是搞一个实例方法吧。 FirstTableView1 *tab = [[FirstTableView1 alloc]init];
tab.iconImageA下方实例方法调用
-(instancetype)initWithFirstTableView:(UITableView *)tableView andViewController:(UIViewController *)viewController andIconArray:(NSArray *)iconArray andTitleArray:(NSArray *)titleArray
FirstTableView1 *tab = [[FirstTableView1 alloc]init];
tab.iconImageA
self.iconImageA
Objective-C里面既有实例方法也类方法。类方法(Class Method) 有时被称为工厂方法(Factory Method)或者方便方法(Convenience method)。工厂方法的称谓明显和一般意义上的工厂方法不同,从本质上来说,类方法可以独立于对象而执行,所以在其他的语言里面类方法有的时候被称为静态方法。
注意点一:类方法
1,类方法可以调用类方法。
2,类方法不可以调用实例方法,但是类方法可以通过创建对象来访问实例方法。
3,类方法不可以使用实例变量。类方法可以使用self,因为self不是实例变量。
4,类方法作为消息,可以被发送到类或者对象里面去(实际上,就是可以通过类或者对象调用类方法的意思)。
注意点二:self的规则
大家需要记住下面的规则:
1,实例方法里面的self,是对象的首地址。
2,类方法里面的self,是Class.
尽管在同一个类里面的使用self,但是self却有着不同的解读。在类方法里面的self,可以翻译成class self;在实例方法里面的self,应该被翻译成为object self。在类方法里面的self和实例方法里面的self有着本质上的不同,尽管他们的名字都叫self。
类方法创造的对象要不要用release释放?
答 不需要 这个对象被放到自动释放池中
Object-C中的私有方法和私有成员变量
成员变量默认对内是共有的,对外是私有的。
@interface Controller : NSObject
@private: NSString *
+ (void)thisIsAStaticM
- (void)thisIsAnInstanceM
@interface Controller (Private)
- (void)thisIsAPrivateM
下面的代码就是怎样获取私有变量(记得加头文件#import ):
NSString *
Mobj *obj = [[Mobj alloc] init];
object_getInstanceVariable(obj, "mt_", (void *)&str);
NSLog(@"%@",str);
[obj release];IOS实例方法和类方法的区别
类方法和实例方法
1:实例方法是— 类开头是+ 实例方法是用实例对象访问,类方法的对象是类而不是实例,通常创建对象或者工具类。
在实例方法里,根据继承原理发送消息给self和super其实都是发送给self
在类方法里面self是其他的类的类方法,在类方法中给self发送消息只能发类方法self是类super也是
什么时候用类方法,要创建一个实例时候获取一个共享实例,或者获取关于类的一些共有信息
类方法(class method)和实例方法(instance method)。类方法被限定在类范围内,不能被类的实例调用(即脱离实例运行)。alloc就是一种类方法。实例方法限定在对象实例的范围内(即实例化之前不能运行)。init就是一种实例方法,被alloc方法返回的对象实例调用。
NSObject * object1 = [[NSObject alloc] init];
instance method
以减号 "-" 开头
class method
以加号 “+” 开头,相当于static方法
3:see see 更健康
Objective-C
1.OC是一门基于C的面向对象语言,是C语言的一个超集,同时具有C语言的特征
2.OC对类的定义和实现以及初始化
//声明类接口,继承NSObject对象(该对象是OC中所有类的顶级父类,所有类都继承于它)
@interface ClassName :NSObject
//成员属性和成员函数的声明
+(void)function;//类方法,不需要实例化对象就可以调用的方法
- (void)function2 :(NSString *)arg;//成员方法,必须通过实例化的对象调用
@imlementation ClassName
//成员属性初始化和方法的定义
对象的初始化:ClassName *obj = [[ClassName alloc] init]
OC中以消息机制传递信息,发送alloc消息给类分配内存空间,发送init消息生成对象,指针指向对象本身。
3.类方法的调用
[obj function];
NSString *str = [NSString stringWithString:@"hello"];
[obj function2 : str];
4.输出函数
根据不同的输出格式输出不同的值 (%d :整形 ,%@:对象&发送description消息&,%s:字符串)
NSlog(@“The result is %d”,intNum);
CF代表Core Foundation (Cocoa)
CFShow发送description给它显示的对象,CFShow打印的信息不会显示时间戳,NSLog会显示,同时CFShow不需要格式字符 串,它只能用于对象
CFShow(obj);
支持点表示法:myTableViewCell.textLabel.text = @"hello" 等价于 [[myTableViewCell textLabel] setText:@"hello"];
使用属性生成器 property
在h文件中声明: @property int year
在m文件中合成生成器:@synthesize year
使用 obj.year = 1999 相当于调用了 [obj setYear:1999];
可以自定义取值方法和赋值方法(getter and setter)
-(int)year
- (void) setYear : (int) newYear
//此处添加了一些基本的内存管理方法,保留新的值,释放以前的值
if(newYear != year)
[year release];
year = [newYear retain];
也可以绕过oc的命名约定,自己指定getter和setter方法的名称;
@property(getter = isExist,setter = setExist:) BOOL
使用过程中既可以使用新定义的方法名,也可以使用以前的方法(点表示法)
属性的特性:readwrite readonly assign retain copy nonatomic
assign:默认行为,使用@property int year就使用了assign行为,就是给实例变量赋了一个值
retain:实现了两个功能,一个是保留了赋值时传递的对象,其次是赋值前释放了以前值,使用retain可以实现上面讨论的内存管理的优点,使用时加上 @property (retain)int year;
copy:发送一条复制的消息给被传递的对象,保留它,并释放任何以前的值;
nonactomic:非原子访问器,加上后可以提升访问速度,但当两个线程同时修改同一个属性时就会出现问题,原子属性可以保证属性在被一个线程使用时不被另一个线程访问,不存在atomic关键字,默认情况下,所有方法都是自动合成的。(类似与java中的线程锁机制synchronized)
readwrite:可读写
readonly:只读
没有更多推荐了,
不良信息举报
举报内容:
类方法能否访问自己的属性
举报原因:
原文地址:
原因补充:
最多只允许输入30个字
加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!}

我要回帖

更多关于 治掉头发的方法 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信