小编Arc*_*ekt的帖子

为什么我的"Upputton内部"活动没有被调用?

我已经制作了很多按钮,我无法弄清楚为什么这个按钮不起作用.

我的层次结构设置如下:

View -> Scroll View -> Subview -> Button
Run Code Online (Sandbox Code Playgroud)

此子视图中还有很多其他项目,每个项目在触摸时都有效.在界面构建器中,我可以看到" Touch Up Inside "事件绑定到我的方法

__CODE__.

但是,当我单击该按钮时,该方法永远不会执行,我的断点随后永远不会被击中.

我注意到,即使我按下按钮上的按钮,标签也不会改变颜色(即使显示高亮显示触摸),但视图上的另一个按钮确实如此.

在按钮上启用了用户交互以及层次结构中的所有内容.

为了让我在子视图中的项目接收触摸事件,我使我的滚动视图看起来像这篇文章中的第4个答案.

objective-c uibutton ios

38
推荐指数
6
解决办法
4万
查看次数

在Azure函数中无法在运行时找到HttpRequestMessageExtensions

我有一个Azure功能应用程序,它创建一个预编译的DLL(因此它使用普通的.cs文件,而不是旧的.csx方法,VS2017之前).以前,它的目标是.Net Framework 4.5.2.我将其更新为4.7,以便使用一些新的C#7功能.我通过"Update-Package -Reinstall"更新了我的NuGet包,并验证它们都在packages.config文件中设置了"net47"目标.

一切都很好.但是当我调用一个使用2 HttpRequestMessageExtensions种方法中的任何一种的函数时,我得到一个异常.例外的一个例子是:

Method not found: 'System.Net.Http.HttpResponseMessage 
  System.Net.Http.HttpRequestMessageExtensions.CreateResponse(
  System.Net.Http.HttpRequestMessage, System.Net.HttpStatusCode)'.
Run Code Online (Sandbox Code Playgroud)

这是一个导致错误的微小测试函数的示例:

using System.Net;
using System.Net.Http;
public static HttpResponseMessage Run(HttpRequestMessage req)
{
        return req.CreateResponse(HttpStatusCode.Accepted, "");         
}       
Run Code Online (Sandbox Code Playgroud)

一旦用Postman调用此函数,我将收到上述异常.我也得到了类似的方法,未发现异常,当我打电话GetQueryNameValuePairs()HttpRequestMessage.

我已经尝试将我的NuGet包更新到最新,没有区别.我已经清理并重建并重新启动了很多次,确保核对我的bin和obj目录.

我不确定可能是什么问题.我想我可以降级回.Net 4.5.2,但我宁愿不.首先,我想使用C#7,而对于两个,我想了解问题是什么而不是避免它.

更新:有趣.问题似乎与System.Net.Http.如果我把它降低到4.0.0一切正常.如果我把它提升到任何更高版本,我会得到上面列出的问题.我尝试将我的每个软件包逐个降低到之前的版本号,以便找到它.然后我将所有这些更新到最新版本,它修复了问题.

azure c#-7.0 azure-functions

12
推荐指数
1
解决办法
2485
查看次数

当我符合协议时,有关分配给id <UITextFieldDelegate>的警告

我的视图控制器符合UITextFieldDelegate,但是当我尝试将文本字段的.delegate字段设置为self时,我收到警告:

"从不兼容的类型'AddReviewViewController*const __strong'"分配给'id'

我的头文件是这样的:

#import <UIKit/UIKit.h>

@interface AddReviewViewController : UIViewController <UITextFieldDelegate>
@property (nonatomic) int storeID;

@end
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,我声明它符合协议.在.m文件中,我有这个:

@property (strong, nonatomic) IBOutlet UITextView *reviewTextView;
Run Code Online (Sandbox Code Playgroud)

在"@interface AddReviewViewController()"部分

然后,在viewDidLoad中我做:

_reviewTextView.delegate = self;
Run Code Online (Sandbox Code Playgroud)

这就是我收到警告的地方.我已经尝试过清理和重建,并重新启动XCode.我错过了一些明显的东西吗?我符合协议....

编辑:感谢您的快速帮助.在我睡眠不足的状态下,我不停地重新阅读并发誓这就是我正在做的事情,但是,是的,错字.几分钟我无法给出答案,但问题解决了,谢谢!

objective-c uitextfield ios uitextfielddelegate

8
推荐指数
1
解决办法
8675
查看次数

如何在Xamarin移动应用程序中使用功能级别授权安全地调用Azure功能?

我正在使用Xamarin制作iOS/Android应用程序(不是Xamarin.Forms,只是普通的Xamarin).我正在使用共享库而不是PCL.我希望我的应用程序调用Azure功能,但我不确定最安全/最好的方法来处理这个问题.我将它设置为"授权级别"的"功能".测试URL中包含"?code = ..."部分.我的印象是,如果我把它放在我的C#代码中,并且"代码"值暴露出从安全角度来看它被认为是一个坏主意.

我迷失了最安全/最好的处理方式.我已经读过在app.config中设置它也是一个坏主意.我找到了一些Web应用程序的参考资料,建议使用azure门户网站中提供的连接字符串,但由于这不是一个Web应用程序,我不确定我是如何在我的代码中实际检索这些值的(或者如果那是可能的话).

那么你如何建议我处理设置"代码"的值,以便我可以调用我的函数并避免安全问题?

更新:根据请求提供更多信息:我正在使用MSAL通过B2C活动目录对我的用户进行身份验证.我已经有了这部分工作,并收到了验证用户的令牌.

我刚刚在我的函数中启用了身份验证.

我的印象是,要从我的移动客户端调用我的函数,我必须创建一个新的HttpRequestMessage.我不确定那时我会放置什么来传递我的令牌.

azure azure-mobile-services azure-functions

5
推荐指数
2
解决办法
4307
查看次数

使Azure函数不能公开访问?

目前,我的功能可以公开访问。有没有一种方法可以使它们只能通过其他方式(例如API网关)访问,而不能直接访问?我尝试通过“网络”刀片添加VNET,但我认为这没有做任何事情(我仍然可以公开调用这些函数)……我认为这样做是为了使这些函数可以访问专用网络上的资源。我在设置中没有看到任何将IP设为私有的选项。我对网络相关问题不是很精通,因此如果不清楚,我深表歉意。

azure azure-functions

5
推荐指数
1
解决办法
2286
查看次数