草庐IT

Pointers

全部标签

ios - 为什么一个弱引用被释放而另一个没有?

我正在习惯使用weak和strong引用以及何时使用它们以及何时不使用它们,我遇到了如下所述的情况(查看关于警告)@interfaceMPIViewController()@property(weak,nonatomic)UIView*subview;@property(weak,nonatomic)UILabel*label;@end@implementationMPIViewController//...//somecodehere//...-(void)viewDidLoad{[superviewDidLoad];self.subview=[[UIViewalloc]init];

ios - 加载nib文件时,NSBundle如何设置指针查看实例变量中的对象?

我正在阅读一本书,目前正在以编程方式向表头添加一个View。所以我设置了XIB文件,添加了一个View,调整了它的大小,并添加了两个subview/UIButtons。接口(interface)文件:#import@interfaceItemsViewController:UITableViewController{IBOutletUIView*headerView;}-(UIView*)headerView;-(IBAction)addNewItem:(id)sender;-(IBAction)toggleEditingMode:(id)sender;@end我的部分实现:-(UIV

ios - View 对象的属性/状态行为

最近,当我尝试将“主题”类设置为基本上用作我的整个应用程序颜色的主题/样式表的单例时,我遇到了一些与View有关的行为。每个View都分配有颜色,这些颜色是主题对象的属性。所以我会设置一个View的颜色,如:someDetailView.backgroundColor=[ThemeSharedTheme].detailViewsBackgroundColor]并且我所有代码的backgroundColor属性都引用内存中的这个单个对象,然后我可以简单地更改它的属性对象和应用程序的外观将反射(reflect)该更改。但是,更改不会反射(reflect)出来。这个事实可以简化为这段代码:U

ios - Objective-C:存储对象的实例变量对应的指针在哪里

假设我有以下类定义@interfaceClassX:NSObject@propertyNSArray*arr;@end假设我在方法中有以下几行-(void)someMethod{ClassX*obj=[ClassXnew];obj.arr=[NSArrayarrayWithObjects:[NSNumbernumberWithInt:2],[NSNumbernumberWithInt:3],nil];//Edittoavoidgettingderailedbydifferencesdueto@notation}栈里有什么,堆里有什么?堆栈:堆栈中的对象。这个变量的值就是obj在堆中所在

ios - 修改常量值

这个问题在这里已经有了答案:Whatdoestheconstspecifierdo,beforeapointertoobject?(3个答案)关闭5年前。我理解的区别NSString*constmyString=@"Bar"这是一个指向NSString的不可变指针。然后我们有:NSMutableStringconst*myMutableString=[[NSMutableStringalloc]initWithString:@"Bar"]这是一个指向constNSMutableString的指针。myMutableString的值应该不能改变。那为什么可以呢?:[myMutableSt

objective-c - 为什么这个对象释放不正常,我应该释放它吗?

你必须原谅我,因为我对Obj-C还是很陌生,但我很困惑..我有一个带有12个按钮的小声板应用程序..每个按钮调用相同的IBAction..当用户点击按钮时,我在播放器变量上调用allocinit(在类的接口(interface)部分声明)这一切都很好,花花公子:#pragmamark-IBActions-(IBAction)userDidTapButton:(id)sender{[playerstop];NSURL*soundClip=[NSURLfileURLWithPath:[[NSBundlemainBundle]pathForResource:@"clip"ofType:@"m

iOS:设置属性

当我使用当前保留的NSArray中的对象设置属性时,它会只存储指针(轻量级),还是会将内容复制到属性中?据我所知,它似乎只会分配指针,但我不确定。此外,在什么情况下会使用*pointer=*otherPointer或set方法(例如setDelegate)复制值,而不是仅传递指针(如果有)。它不应该总是只传递指针地址吗? 最佳答案 如您所说,它总是传递指针。除非您专门添加取消引用符号,否则情况总是如此。但是,当您向类添加属性并将setter设置为copy时:@property(nonatomic,copy)idobj;当使用点语法或

iphone - iOS 指针问题

我似乎有一个指针问题,而且我似乎无法修复它。有人可以帮帮我吗?-(void)connectionDidFinishLoading:(NSURLConnection*)connection{NSLog(@"FinishedDownloadingImage:%@",[connection.originalRequest.URLabsoluteString]);UIImage*CompiledImage=[UIImageimageWithData:ImageData];SELselector=@selector(ImageDownloadingCompleted:Image:);if([[s

ios - 如何判断指针指向的值何时为nil

我遇到了部队可以攻击建筑物的情况。每个部队都有一个指向其目标的指针。@property(nonatomic,weak)Building*target;在更新循环中,部队会定期对其目标造成伤害。if(_target){if(/*enoughtimehaspassedsincelastattack,attackagain*/){[_targetattack];if(_target.health问题是:troop1击倒了building1并移动到building2troop2正在攻击building1但要等到下一次攻击才能确定building1现在nil。我意识到问题是troop2的poin

ios - 在 NSData 中存储 C 结构的 C 数组

我有一个非常简单的C结构,如下所示:typedefstruct{inttag;CGPointposition;}Place;也就是说,所有标量类型,结构中没有指针。然后我得到了一组这样的点:Place*dynamicPlaces=calloc(numberOfPlaces,sizeof(Place));所以dynamicPlaces的每个元素都应该是(除非我混淆了一些东西……我和指针当然有可能……)一个Place类型的结构,已初始化其所有成员都为0,是吗?到目前为止一切顺利。然后我尝试将该数组放入NSData对象中以通过网络发送(连同元素计数,未显示):NSData*placesDat