13: 2018-01-18 (木) 16:29:57 njf |
現: 2018-05-28 (月) 16:20:05 njf |
| 次にボタンを押したときの処理を定義します。 | | 次にボタンを押したときの処理を定義します。 |
| Xcodeのウインドウの右上にある丸いボタンを押して、StoryboardとViewController.mを両方表示します。 | | Xcodeのウインドウの右上にある丸いボタンを押して、StoryboardとViewController.mを両方表示します。 |
- | ViewController.mが表示されないときは、てしまった場合は、エディタ上の「< >」とか書いてある右側の部分をクリックしてManualにしてViewController.mを選択したり「< >」をクリックしたりすると切り替わります。 | + | ViewController.mが表示されない場合は、エディタ上の「< >」とか書いてある右側の部分をクリックしてManualにしてViewController.mを選択したり「< >」をクリックしたりすると切り替わります。 |
| | | |
| &ref(twoEditorBtn.jpg,mw:480,mh:360); | | &ref(twoEditorBtn.jpg,mw:480,mh:360); |
| if(alertController == nil){ | | if(alertController == nil){ |
| NSLog(@"alertWindowInit"); | | NSLog(@"alertWindowInit"); |
| + | |
| alertController = [UIAlertController alertControllerWithTitle:@"Title" message:@"Message" preferredStyle:UIAlertControllerStyleAlert]; | | alertController = [UIAlertController alertControllerWithTitle:@"Title" message:@"Message" preferredStyle:UIAlertControllerStyleAlert]; |
| + | |
| // Yes button | | // Yes button |
| [alertController addAction:[UIAlertAction actionWithTitle:@"Yes" style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) { | | [alertController addAction:[UIAlertAction actionWithTitle:@"Yes" style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) { |
| }]]; | | }]]; |
| } | | } |
| + | |
| } | | } |
| - (void) alertWindowShow:(NSString*)title : (NSString*)message{ | | - (void) alertWindowShow:(NSString*)title : (NSString*)message{ |
| これに対応するanealert.hは以下の通りです。 | | これに対応するanealert.hは以下の通りです。 |
| #import <UIKit/UIKit.h> | | #import <UIKit/UIKit.h> |
| + | |
| @interface AneAlert : NSObject{ | | @interface AneAlert : NSObject{ |
| @private | | @private |
| - (void) alertWindowInit; | | - (void) alertWindowInit; |
| - (void) alertWindowShow:(NSString*)title : (NSString*)message; | | - (void) alertWindowShow:(NSString*)title : (NSString*)message; |
| + | |
| @end | | @end |
| | | |
| [aneAlert alertWindowShow:@"Ane Test from objective-C" : message]; | | [aneAlert alertWindowShow:@"Ane Test from objective-C" : message]; |
| cnt++; | | cnt++; |
| + | |
| } | | } |
| | | |
| int cnt; | | int cnt; |
| } | | } |
| + | |
| @end | | @end |
| | | |
| #import "FlashRuntimeExtensions.h" | | #import "FlashRuntimeExtensions.h" |
| #import "anealert.h" | | #import "anealert.h" |
| + | |
| AneAlert * aneAlert; | | AneAlert * aneAlert; |
| + | |
| FREObject ANEAlertShow(FREContext ctx, void* funcData, uint32_t argc, FREObject argv[]){ | | FREObject ANEAlertShow(FREContext ctx, void* funcData, uint32_t argc, FREObject argv[]){ |
| NSLog(@"ANEAlertShow start"); | | NSLog(@"ANEAlertShow start"); |
| uint32_t argLength; //引数の長さ | | uint32_t argLength; //引数の長さ |
| const uint8_t *argBuff; //引数の値保持用 | | const uint8_t *argBuff; //引数の値保持用 |
| + | |
| FREGetObjectAsUTF8(argv[0], &argLength, &argBuff);//引数取得 | | FREGetObjectAsUTF8(argv[0], &argLength, &argBuff);//引数取得 |
| NSString *arg1NSString = [NSString stringWithUTF8String:(char*)argBuff];//引数をNSStringへ変換 | | NSString *arg1NSString = [NSString stringWithUTF8String:(char*)argBuff];//引数をNSStringへ変換 |
| + | |
| FREGetObjectAsUTF8(argv[1], &argLength, &argBuff);//引数取得 | | FREGetObjectAsUTF8(argv[1], &argLength, &argBuff);//引数取得 |
| NSString *arg2NSString = [NSString stringWithUTF8String:(char*)argBuff];//引数をNSStringへ変換 | | NSString *arg2NSString = [NSString stringWithUTF8String:(char*)argBuff];//引数をNSStringへ変換 |
| + | |
| if(aneAlert == nil){ | | if(aneAlert == nil){ |
| NSLog(@"ANEAlertShow:init alert!"); | | NSLog(@"ANEAlertShow:init alert!"); |
| return NULL; | | return NULL; |
| } | | } |
| + | |
| void ANEAlertContextInitializer(void* extData, const uint8_t* ctxType, FREContext ctx, uint32_t* numFunctionsToTest, const FRENamedFunction** functionsToSet) | | void ANEAlertContextInitializer(void* extData, const uint8_t* ctxType, FREContext ctx, uint32_t* numFunctionsToTest, const FRENamedFunction** functionsToSet) |
| { | | { |
| NSLog(@"ANEAlertContextInitializer start"); | | NSLog(@"ANEAlertContextInitializer start"); |
| + | |
| *numFunctionsToTest = 1; | | *numFunctionsToTest = 1; |
| + | |
| FRENamedFunction* func = (FRENamedFunction*) malloc(sizeof(FRENamedFunction) * *numFunctionsToTest); | | FRENamedFunction* func = (FRENamedFunction*) malloc(sizeof(FRENamedFunction) * *numFunctionsToTest); |
| + | |
| func[0].name = (const uint8_t*) "alert"; | | func[0].name = (const uint8_t*) "alert"; |
| func[0].functionData = NULL; | | func[0].functionData = NULL; |
| func[0].function = &ANEAlertShow; | | func[0].function = &ANEAlertShow; |
| + | |
| *functionsToSet = func; | | *functionsToSet = func; |
| + | |
| NSLog(@"ANEAlertContextInitializer end"); | | NSLog(@"ANEAlertContextInitializer end"); |
| } | | } |
| + | |
| void ANEAlertInitializer(void** extDataToSet, FREContextInitializer* ctxInitializerToSet, FREContextFinalizer* ctxFinalizerToSet){ | | void ANEAlertInitializer(void** extDataToSet, FREContextInitializer* ctxInitializerToSet, FREContextFinalizer* ctxFinalizerToSet){ |
| NSLog(@"ANEAlertInitializer start"); | | NSLog(@"ANEAlertInitializer start"); |