我有一個自定義的視圖,我從drawrect函數中繪製了一些圖形,這很好地工作。正確的問題不允許嵌套的函數
但是我喜歡根據數組的維數來繪製,我在setNeedsDisplay之前傳遞視圖。在drawRect函數中如果我用drawRect使用NSString或NSarray,我得到一個嵌套的函數錯誤,我不明白?
這裏是我的代碼:
// MyView.h
#import <UIKit/UIKit.h>
@interface MyView : UIView {
}
@end
// MyView.m
#import "MyView.h"
@implementation MyView
CGContextRef c;
CGFloat black[4] = {0.0f, 0.0f, 0.0f, 1.0f};
- (id)initWithFrame:(CGRect)frame {
if (self = [super initWithFrame:frame]) {
// Initialization code
}
return self;
}
- (void)drawRect:(CGRect)rect {
c = UIGraphicsGetCurrentContext();
CGContextSetStrokeColor(c, black);
//Gives a nested functions are disabled error at compiletime
NSString nsz * = @"test";
}
- (void)dealloc {
[super dealloc];
}
@end
@Joe你可以,但不建議。如果`nary`是一個包含格式說明符的字符串(如`%@`),那麼`NSLog()`將嘗試讀取堆棧中不是實際對象的數據,您可能會崩潰。但它仍然*可能*。 – 2011-02-16 22:36:07
NSLog只是爲了檢查它我可以看到數組中的數據(我可以),所以它不會在代碼中,但沒有來自NSLog – Martin 2011-02-16 22:41:06
的錯誤我正在使用另一臺PC作爲郵件。但不是現在/ Users/martinstave/Documents/windowIpadOne /../../下載/ iPhoneLine/MyView.m:134:0 /Users/martinstave/Documents/windowIpadOne/../../Downloads/iPhoneLine/MyView。 m:134:錯誤:嵌套函數被禁用,使用-fnested函數重新啓用 – Martin 2011-02-16 22:55:54