StackOverFlower の皆さん、こんにちは。通常、この素晴らしいサイトを使用して、ほとんどの iOS の問題を自分でトラブルシューティングできますが、ここでは敗北を認めなければならず、あなたが助けてくれることを願っています.
私のアプリはストーリーボードを使用し、テーブル ビューから開始します。セルをタップすると、そのセルに関する詳細ページに移動します。
URL からアプリを起動するために必要なコードを実装し、URL 文字列を分離してアプリの起動後に使用する特定の値を取得するコードも記述しました。これらの値は、「アプリが URL によって起動された」ことを示すフラグとともに、ユーザーの既定値に書き込まれます。私の AppDelegate には、次のメソッドがあります。
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
NSLog(@"Launched with URL: %@", url.absoluteString);
DFSCustomURL *passedUrl = [[DFSCustomURL alloc]init];
[passedUrl saveUrlSchemeToFile:url];
passedUrl=nil;
NSLog(@"Updating URL");
[UserDefaults setURLLaunch];
return YES;
}
テーブル ビュー コントローラーのテーブルを更新するメソッドには、次のコードがあります。
if(userDefaultValues.urlLaunch)
{
[UserDefaults disableURLLaunch];
//Get a CustomURL object for the kpiIndex value.
[self performSegueWithIdentifier:@"ViewKPIDetail" sender:[self.kpiArray objectAtIndex:0]];
}
問題は、URL から起動した場合、App Delegate のコードが、テーブルの更新メソッドが呼び出されるまで起動しないことです。これは、テーブルがリロードされるまで「url launch」のフラグが設定されず、テーブルを再度更新するまでセグエが発生しないことを意味します。
何か案は?