草庐IT

range-init

全部标签

iphone - 我应该以编程方式在 init 或 ViewDidLoad 中添加 subview ,为什么?

我在这里浏览了一些答案,我得到了两个不同的建议:加入初始化。Exampleinthisanswer添加ViewDidLoad。Suggestedinthisanswer哪个是当前的最佳实践?第二个答案似乎更旧(2010年),所以我想知道它是否是一个旧的、不再建议的做法? 最佳答案 不,永远不要在init中做这样的事情。我viewDidLoad甚至viewWillAppear,从来没有在init中,因为你的View当时可能不存在,当我开始时,它一直在我身上发生,我正在为一个不存在的UILabel设置一些字符串,并使应用程序崩溃,但这在

iphone - 解释 alloc/init 发生两次

我知道这个问题听起来很愚蠢,但请耐心等待。我构建了一个应用程序来帮助新开发人员围绕iPhone上的内存保留问题(还没有ARC)。它简单明了,4个按钮,初始化、访问、保留和释放。非常self解释。我正在显示我的字符串对象的保留计数,这是我们戳和戳的目标。(请不要讲授[myVarretainCount]的使用,我已经知道了)这些东西永远不会变成实际的应用程序,只是为了好玩而玩弄它,并希望能帮助人们了解内存的工作原理。我的保留和释放都很好用。我的问题是,如果我调用myString=[[NSMutableStringalloc]init];为什么我的保留计数会回落到1?再次。我可以将我的保留计

objective-c - iOS NSMutableData *data = [[NSMutableData alloc] init];崩溃

我在函数中使用下面提到的行NSMutableData*data=[[NSMutableDataalloc]init];我很快就调用了这个函数(例如100次)。所以我的问题是,最初它工作正常大约60次或更多次,但之后它给了我“BAD_EXC_ACCESS”函数如下+(NSString*)recvToFile:(NSString*)_fileName{@try{int_sz=[selfrecvNumber:4];uint8_tt[_sz];NSMutableData*data=[[NSMutableDataalloc]init];NSMutableData*fileData=[[NSMut

objective-c - 在 NSObject 子类的自定义 init 方法中使用 self = [super init]

我正在继承NSObject@interfaceMyClass:NSObject{}-(id)customInit;@end并在其中实现一个自定义的初始化方法,-(id)customInit{self=[superinit];if(self){returnself;}returnnil;}并如下创建MyClass的实例MyClass*myClassInstance=[[MyClassalloc]customInit];现在我的问题是,如果我使用不带self=[superinit]的customInit方法,我会错过什么?如下所示,-(id)customInit{returnself;}我

ios - 如何在 iOS 上访问 Facebook Graph SDK 的 age_range 属性

如何通过iOS访问age_rangeFacebook用户属性(https://developers.facebook.com/docs/graph-api/reference/v2.0/user)?其他用户属性很简单(请参阅FetchinguserdetailsfromFacebookiniOS)。例如。通过user.first_name,但是,我不确定如何查询和提取此复合属性的min和max值。 最佳答案 我相信这是解析年龄范围的方式:if(status==FBSessionStateOpen){[[FBRequestreques

javascript - range.setStart 仅使用字符偏移量?

我是Javascript的新手,最近几天我一直在阅读文档,试图解决这个问题。我终于不得不诉诸于在这里炫耀我的无知。我有一个整数,它是段落中字符的索引。我想找到这个Angular色的边界矩形。我一直在尝试通过制作一个包含该字符的范围来做到这一点。所以我试过:varrange=document.createRange();range.setStart(node,offsetInsideNode);对于节点,我尝试传入段落元素,对于offsetInsideNode,我尝试传入characterOffset整数。但是后来我发现:“如果节点元素可以有子节点,那么offsetInsideNode参

ios - 继承 MKAnnotationView 并从 initWithFrame : overloads 调用 init 时无限循环

有这个XCTestCase案例:-(void)testAllInitializersConfigureTheView{BIStationAnnotationView*withFrame=[[BIStationAnnotationViewalloc]initWithFrame:CGRectNull];XCTAssertTrue(CGRectEqualToRect(withFrame.frame,CGRectMake(0.f,0.f,30.f,40.f)),@"Frameshouldbefixed");}测试MKAnnotationView的子类:-(id)init{if(self=[su

ios - SpriteKit 中的 init() 与 didMove 与 sceneDidLoad

我了解到在SpriteKit中创建场景有3种方法,init()、didMove和sceneDidLoad。但我无法理解将这三种方式分开。阅读其他问题我理解调用的顺序是init->SceneDidLoad->didMove。我怎样才能有效地使用它们? 最佳答案 你对调用这些函数的顺序是正确的。但是只有init(size:)才真正创建了一个场景。init(size:)使用给定的CGSize作为边界初始化一个新的场景对象。在场景变得可见之前必须设置的任何东西都应该发生在这里。这一点很重要,因为新初始化的场景在通过View呈现之前对用户不可

viewDidLoad 中的 init 和 viewDidUnload 中的 release 的 iOS 内存问题

以下代码是否存在任何潜在的内存问题?-(void)viewDidLoad{locationManager=[[CLLocationManageralloc]init];}-(void)viewWillAppear:(BOOL)animated{locationManager.delegate=self;locationManager.desiredAccuracy=kCLLocationAccuracyBest;locationManager.distanceFilter=kCLDistanceFilterNone;[locationManagerstartUpdatingLocati

ios - Objective-C 中的 init 实际上做了什么?

+(id)alloc;和-(id)init;是来自NSObject.h的方法分配确实+(id)alloc{return_objc_rootAlloc(self);}id_objc_rootAlloc(Classcls){#if0&&__OBJC2__//Skipoverthe+allocWithZone:calliftheclassdoesn'toverrideit.//fixmenot-thisbreaksObjectAllocif(!((class_t*)cls)->isa->hasCustomAWZ()){returnclass_createInstance(cls,0);}#e