在Objective-C代碼中,switch語句中不能進行對象的初始化操作。
問題
如圖:
Xcode的代碼提示中不會有alloc:
編譯會提示如下的錯誤:
解決方法
使用大括号将對象初始化的代碼括起來即可:
switch ([self.demos indexOfObject:self.title]) {
case DemoAutoResize:
{
UIViewAutoResize *view = [[UIViewAutoResize alloc] initWithFrame:self.view.frame];
[self.view addSubview:view];
break;
}
default:
break;
}
在此并未詳細探究這個問題的原因所在。感興趣的同學可以深入研究,歡迎告知詳情。