Class
iOSBlock
Warning
This item was deprecated in version 2021r3. Please use ObjCBlock as a replacement.
Description
Used when callings declares that require Obj-C blocks. An iOSBlock is created from a Delegate and in turn creates an Objective-C block that will call into the delegate. This Objective-C block is retrieved from the Handle property and passed into declares.
Methods
Name |
Parameters |
Returns |
Shared |
---|---|---|---|
theDelegate As Object |
Property descriptions
iOSBlock.Handle
Handle As Ptr
Gets the Objective-C block.
This property is read-only.
Method descriptions
iOSBlock.Constructor
Constructor(theDelegate As Object)
Note
Constructors are special methods called when you create an object with the New keyword and pass in the parameters above.
Used to supply the delegate to create for the block.
Sample code
The openURL command can be called with a series of Declares, the last of which requires a Block. Here are the Declares:
Public Function ShowURL(url As String) as Boolean
' NSString* launchUrl = @"http://www.xojo.com/";
' [[UIApplication sharedApplication] openURL:[NSURL URLWithString: launchUrl]];
Declare Function NSClassFromString Lib "Foundation" (name As CFStringRef) As Ptr
Declare Function sharedApplication Lib "UIKit" Selector "sharedApplication" (obj As Ptr) As Ptr
Dim sharedApp As Ptr = sharedApplication(NSClassFromString("UIApplication"))
' https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/NSURL_Class/#//apple_ref/occ/clm/NSURL/URLWithString:
Declare Function URLWithString Lib "Foundation" Selector "URLWithString:" ( id As Ptr, URLString As CFStringRef ) As Ptr
Dim nsURL As Ptr = URLWithString(NSClassFromString("NSURL"), url)
' https://developer.apple.com/Library/ios/documentation/UIKit/Reference/UIApplication_Class/index.html#//apple_ref/occ/instm/UIApplication/openURL:
Declare Function openURL Lib "UIKit" Selector "openURL:options:completionHandler:" (id As Ptr, nsurl As Ptr, options As Ptr, handler As Ptr) As Boolean
Dim b As New iOSBlock(AddressOf URLResult)
Return openURL(sharedApp, nsURL, Nil, b.Handle)
End Function
Compatibility
iOS projects on the iOS operating system.