所以我對將一個NSString傳遞給一個類感到困惑。我有一個傳說類,繪製一個小盒子,並在盒子上有一個標籤。我的盒子本質上是一個UIView對象,我改變背景顏色。在我的init方法中,我初始化了這個盒子,然後從我創建這個類的一個實例的其他類中,設置了背景顏色。但是,在NSString的情況下,我不知道如何分配/ init,並設置其他類的文本。這是我的傳奇代碼。在類之間傳遞一個NSString
- (id)sharedInit {
self.backgroundColor = [UIColor clearColor];
self.LegendBox = [[UIView alloc] initWithFrame:CGRectMake(0, self.frame.size.height/2 - LEGEND_SIZE/2, LEGEND_SIZE, LEGEND_SIZE)]; // hugs LHS, centered vertically
self.LegendLabel = [[NSString alloc] init];
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(25, 0, self.bounds.size.width - 25, self.bounds.size.height)];
label.textColor = [UIColor whiteColor];
label.backgroundColor = [UIColor clearColor];
label.text = self.LegendLabel;
label.font = [UIFont fontWithName:@"Arial" size:14.0];
label.numberOfLines = 5;
label.lineBreakMode = UILineBreakModeWordWrap;
[self addSubview:label];
[self addSubview:_legendBox];
return self;
}
後來,當我嘗試在我的其他類創建的傳說類的一個實例:
PieChartLabelView *labelView1 = [[PieChartLabelView alloc] initWithFrame:CGRectMake(0, 0, 140, 80)];
labelView1.LegendBox.backgroundColor = BLUE_COLOR;
NSString *str1 = [[NSString alloc] initWithFormat:@"as;flkasjdf;laksjdf"];
labelView1.LegendLabel = str1;
[self addSubview:labelView1];
[str1 release];
[labelView1 release];
我沒有得到我的標籤的任何文本。
第二個問題,我在試圖更好地瞭解自我/高德/ setter方法/干將,是我的傳說級,爲什麼我只是用
[self addSubview:_legendLabel];
與self.LegendLabel?我仍然不完全明白。謝謝。