草庐IT

self-referencing

全部标签

ios - 如果我们不在 init 方法中检查 "if (self)"会发生什么?

这个问题在这里已经有了答案:InObjective-CwhyshouldIcheckifself=[superinit]isnotnil?(9个回答)关闭8年前。我开始研究我们学长做的代码,我发现init方法总是有代码-(id)init方法。他们通过以下方式使用代码。以下代码用于所有ViewController。self=[superinitWithNibName:@"ViewController"bundle:[NSBundlemainBundle]];returnself;这部分的if(self)和self有什么用?//Andinsomeviewcontrollercontains

iphone - 为什么调用 [self becomeFirstResponder] 会导致这么多问题?

在我生命中过去极度沮丧的几天里,我一直在努力找出我的代码出了什么问题。在某个页面中,如果我放置UITextViews或UITextFields或MFMailComposer或MessageComposer或任何需要编辑的字段,这些字段将'响应触摸。运行该应用程序时我无法编辑任何内容。我无法编辑TextView或电子邮件字段或任何内容。我尝试了一切,但没有任何效果。事实证明,在主页面(MainVC)上,该页面导致字段不响应的页面(GiftVC),在viewDidAppear中方法(在MainVC中),我说:[selfbecomeFirstResponder];。现在我不太确定我为什么把它

iphone - 'self' 未设置为结果时使用的实例变量

我正在使用SGAREnvioroment,但出现以下错误:在“self”未设置为“[(superorself)init...]”的结果时使用的实例变量在这段代码中:@interfaceSG3DOverlayView(Private)-(id)initGLES;-(void)drawView;-(BOOL)createFramebuffer;-(void)destroyFramebuffer;-(void)clearTouches;@end@implementationSG3DOverlayView+(Class)layerClass{return[CAEAGLLayerclass];}

iphone - 为什么 self 保留在访问其属性之一的 block 中?

在下面的代码中,self被保留以确保图像对象在block被调用时存在。这就是文档所说的。但是,我似乎不明白为什么。简单地保留图像就可以保证它不会被释放。那么为什么还要保留self呢?self.finishBlock=^{self.image.hidden=YES;}如果您直接访问图像,这是否适用?self.finishBlock=^{_image.hidden=YES;} 最佳答案 self被保留是因为self.image.hidden=YES;实际上是[[selfimage]setHidden:YES];图像不会/不能直接保留,因

objective-c - iOS:方向获取 future 的self.view.bounds

背景:我想用动画显示我的内容随方向的变化。我的内容位置是相对于self.view.bounds的。问题:为了使内容和边界一起动画化,我需要知道最后View的边界是什么。我可以硬编码,但我希望找到一种更动态的方式。代码:所以所有动画都发生在willRotateToInterfaceOrientation中,如下所示:-(void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientationduration:(NSTimeInterval)duration{//centeringtheimag

objective-c - 无法分配 self.delegate 它会产生无法识别的选择器发送

我是iOS的新手,我在实现@protocol时遇到了麻烦,如果您认为这是一件容易的事,我深表歉意。我一直在stackoverflow.com、网络上搜索,也尝试过谷歌叔叔一段时间,我决定在这里问...主要思想是从TopViewController调用MyViewController并做翻转动画我从创建协议(protocol)开始......//ThisismyDelegateheader//MyViewController.h@protocolMyViewControllerlDelegate-(void)myViewControllerDidFinish;@end@interface

iphone - 重复 self 执行选择器

我只是在徘徊,如果有更简单的方法来重复下面的代码20秒。如果有,怎么办?[selfperformSelector:@selector(move1)withObject:nilafterDelay:0.0];[selfperformSelector:@selector(move2)withObject:nilafterDelay:0.2];[selfperformSelector:@selector(move3)withObject:nilafterDelay:0.4];[selfperformSelector:@selector(move1)withObject:nilafterDel

ios - 是否有 (self.frame.origin.y + self.frame.size.height) 的快捷方式?

我写了太多这段代码:self.frame.origin.y+self.frame.size.height有捷径吗?像self.frame.y_plus_height这样的东西?如果有,我不确定在我写下完整句子的所有时间里这是好消息还是坏消息。 最佳答案 这应该可以解决问题:CGFloatres=CGRectGetMaxY(self.frame);可以找到文档here.编辑:根据robmayoff的解释(见评论),这比在代码中简单地求和origin.y+size.height要昂贵一些。

ios - 干净的URL与查询的字符串-来 self 的iOS客户端的Web服务请求

我一直在寻找明确的答案或解释,但找不到详尽的答案或解释。我正在构建移动应用程序,该应用程序主要基于后端的数据。我可以使用纯静态请求或带有查询字符串的请求来构造对服务器(基于php)的大多数请求。2个问题:1.假设我有一个friend类。我想认识或设置丹妮的friend。休息时我会做:http://www.example.com/Dani/friends-GET(togetallhisfriends)http://www.example.com/Dani/friends-POST(tocreateanewfriendforDani)使用查询的字符串:Http://www.example.

ios - 使用什么来移动 UIView self.frame 或 self.transform 属性?

我对这个问题有点困惑。我知道我可以移动View来改变它们的self.frame.origin,但我发现有一个名为transform的属性,我认为这是为了在屏幕上移动我的View等等.也许我有点不明白。所以我想知道:我必须使用哪个属性来移动UIView(或其子类)以及另一个属性是什么?或者,如果我完全错了,请告诉我正确的方法。 最佳答案 UIView的frame属性定义了它相对于其父View的位置。如果你想移动一个View,那就是要走的路。transform属性基本上将CGAffineTransform应用于View的支持层。在大多数