Backends: Metal: Conditional check, amend 7602277 (#5122, #5123)

Co-authored-by: Wvader <34067397+wvader@users.noreply.github.com>
diff --git a/backends/imgui_impl_metal.mm b/backends/imgui_impl_metal.mm
index d2eb465..6b3680c 100644
--- a/backends/imgui_impl_metal.mm
+++ b/backends/imgui_impl_metal.mm
@@ -582,8 +582,11 @@
         vertexBufferOffset += (size_t)cmd_list->VtxBuffer.Size * sizeof(ImDrawVert);
         indexBufferOffset += (size_t)cmd_list->IdxBuffer.Size * sizeof(ImDrawIdx);
     }
-
-    id weakSelf = self;
+#if __has_feature(objc_arc)
+    __weak id weakSelf = self;
+#else
+    __unsafe_unretained id weakSelf = self;
+#endif
     [commandBuffer addCompletedHandler:^(id<MTLCommandBuffer>)
     {
         dispatch_async(dispatch_get_main_queue(), ^{