私はこの方法を持っています:
+ (MHTwitterParser*)createParser:(NSString*)format {
if ([format compare:@"json"] == NSOrderedSame) {
return [[MHJsonTwitterParser alloc] init];
}
[NSException raise:@"Unknown format" format:@"Unknown format of parser"];
}
コンパイラは次のように文句を言います。
Control may reach end of non-void function
これは単なる警告ですが、問題ではありません。
そのための明らかな修正は、たとえばreturn nil;
の後に追加すること[NSException raise: ...
です。
ただし、例外がスローされるため、必要ない(そして読者にとって誤解を招く)と思います。したがって、「制御が非void関数の終わりに達する可能性がある」というのは真実ではありません。または私は何かが欠けていますか...?それはコンパイラの不完全さだけですか、それともこれにはかなりの理由がありますか?
コンパイラはAppleLLVMコンパイラ3.1です