ios弾窓テストヒントのテクニック

1482 ワード

时にはヒントボックスを弾いてヒントを出したいだけで、テストのようなものを、ずっと大きなコードを書くのは面倒で、copyの感じもあまりよくありません.マクロの定義はいい選択です.
//  , 
#define alert(string, detail,VC,okTitle) UIAlertController *alertController = [UIAlertController alertControllerWithTitle:string message:detail preferredStyle:UIAlertControllerStyleAlert]; \
UIAlertAction *okAction = [UIAlertAction actionWithTitle:okTitle style:UIAlertActionStyleDefault handler:nil]; \
[alertController addAction:okAction]; \
[VC presentViewController:alertController animated:YES completion:nil];

ちなみに現在のビューがあるビューコントローラを取得するコードを添付します
//OC
- (UIViewController *)viewController
{
    UIViewController *viewController = nil;
    UIResponder *next = self.nextResponder;
    while (next)
    {
        
        if ([next isKindOfClass:[UIViewController class]])
        {
            viewController = (UIViewController *)next;
            break;
        }
        next = next.nextResponder;
    } 
    return viewController;
}
//swift
 func getViewController() -> UIViewController{
        
        var viewController :UIViewController! ;
        var next = self.next;
        while ((next) != nil)
        {
            
            if (next?.isKind(of: UIViewController.classForCoder()))!
            {
                viewController = next as! UIViewController;
                break;
            }
            next = next!.next;
        } 
        return viewController;
        
    }