[英]Do I need attach renderbuffer to a framebuffer that has a texture attached already?
[英]do I need to manually create a NSMutableArray if it is already covered by a property & synthesize method? (code attached)
如果屬性和synthesize方法已包含NSMutableArray,我是否需要手動創建它?
在下面的代碼中,我看到了一個問題,即“ addEvent”方法似乎不起作用。 即使調用它,_events變量的計數仍為零(0)。 我想知道這段代碼是否是我需要手動創建/初始化數組的問題? (而不是依靠sythesize方法執行此操作)
頭文件
#import <Foundation/Foundation.h>
@interface Weekend : NSObject {
NSMutableArray* _events;
}
- (void)addEvent:(EKEvent*)event;
@property (nonatomic, retain) NSMutableArray* events;
@end
實作
#import "Weekend.h"
@implementation Weekend
@synthesize events = _events;
- (void)addEvent:(EKEvent*)event {
[self.events addObject:event];
}
@end
是。
@synthesize
自動創建在引用self.events
時使用的getter / setter方法。 它不會為您分配(或釋放)_events對象。
您可以在init方法中創建它,但是如果您想稍微想一點,還可以重寫getter方法,如下所示:
-(NSMutableArray *)events
{
if (_events == nil) {
_events = [[NSMutableArray alloc] init];
}
return _events;
}
如果以這種方式而不是在init方法中執行此操作,則變量僅在實際需要時才被初始化,這在某些情況下會很方便。
請記住,您仍然需要在dealloc方法中釋放。
您需要先分配內存。
問題是您需要為數組分配內存。
_events = [[NSMutableArray alloc] init]; &然后將對象添加到此數組。
並且也不要忘記在適當的位置釋放此數組,否則會造成很多崩潰問題。
_events = nil; [_events版本];
如果要訪問getter和setter屬性,則&然后僅執行
@property(非原子,保留)NSMutableArray *事件; &合成數組,否則簡單地它將為您工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.