このコードはEXC_BAD_ACCESSを返します。なぜですか?なぜこのコードはEXC_BAD_ACCESSを与えますか(IMPを使用)
NSMutableDictionary *d = [[NSMutableDictionary alloc] init];
IMP imp= [d methodForSelector:@selector(setObject:forKey:) ];
imp(d, @selector(setObject:forKey:), @"obj", @"key");
私はIMP、firs try .. no luckを使い始めています。私はなぜエラーが出るのか分かりません。過去には、EXC_BAD_ACCESSを取得したときにメッセージがコンソールに表示されましたが、今回はエラー行が強調表示されています。
いくつかの注意事項: ARCが有効になっている、XCodeの4.3.2、プロジェクトがデ・デフォルト言語/コンパイラとしてのObjective-C++を使用して、このコードは、プロジェクトの最初にある
おかげでみんな
私は再現できません。これを新しいプロジェクトに入れると、まだエラーが出ますか? – Chuck
うん、私が見つけたもの... ARCが問題です。 ARCを有効にして新しいiOSプロジェクトを作成してみてください。その後、コードをどこかにコピー&ペーストしてください(私はアプリケーションdidFinishLaunchingWithOptionsに入れます:) – subzero