小编Vai*_*arg的帖子

NSJSONSerialization出错 - JSON写入中的类型无效(菜单)

我有一个应用程序使用核心数据与3个具有非常相似属性的实体.这种关系如下:

分店 - >>菜单 - >>分类 - >> FoodItem

每个实体都有一个关联的类:example

在此输入图像描述

我试图在sqlite数据库中生成数据的JSON表示.

//gets a single menu record which has some categories and each of these have some food items
id obj = [NSArray arrayWithObject:[[DataStore singleton] getHomeMenu]]; 

NSError *err;
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:obj options:NSJSONWritingPrettyPrinted error:&err];

NSLog(@"JSON = %@", [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding]);
Run Code Online (Sandbox Code Playgroud)

但是我没有使用JSON,而是出现了SIGABRT错误.

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Invalid type in JSON write (Menu)'
Run Code Online (Sandbox Code Playgroud)

任何想法如何解决它或如何使实体类(分支,菜单等)JSON序列化兼容?

iphone serialization json objective-c ios5

51
推荐指数
2
解决办法
7万
查看次数

在Mobile Safari下拉列表项目选择框中使用"下一步"时,select/dropdown的onchange()JS事件的奇怪行为

这是一个很难说清楚的,我是移动网络开发的新手,所以请耐心等待:

在我的网页上,我有3个嵌套下拉列表(区域,城镇,街道).

嵌套为,当每个下拉列表中的选项更改时,每个下拉列表的项目都会被修改.例如,选择区域会更改城镇街道列表,选择城镇会更改街道列表.

我在下拉列表的onchange()javascript事件中使用XMLHTTPRequests来获取和填充其他下载.这适用于Android和桌面浏览器.

在Mobile Safari上,触摸drowdown时,会显示一个列表,用户可以在其中选择项目.此外,选择框具有"上一个/下一个/自动填充/完成"按钮以导航到其他表单元素.

因此,用户触摸第一个下拉列表,选择一个值并按下"下一步"按钮.这会导致两个问题:

首先,在此操作中,第一个下拉列表的oncange()事件未被可靠触发!有时它有时不会发射.

如果在选择区域后,用户触摸网页上的其他位置或按"完成"按钮,则正常触发onchange()并正常填充城镇和街道.

其次,按下"下一步"按钮时聚焦的元素是获取后需要更改元素的下拉列表.当前一个下拉列表的onchange()被触发时,列表没有更新或者选择框中的项目变为蓝色,并且所有项目都有一个勾号表示它们全部被选中.

从我可以告诉这个问题将得到解决,如果我能在选择框中禁用下一/上一个按钮或以某种方式解决如何的onchange()被触发,焦点下拉的列表项的下一个被重新填充,而它的重点.

这是代码(简化):

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=no" />

    <title></title>
</head>
<body onload="AppStart();">
    <form action="#">
    Area:
    <select id="ddlArea">
        <option value="">-- Select Area -- </option>
        <option value="1">Area 1</option>
        <option value="2">Area 2</option>
        <option value="3">Area 3</option>
        <option value="4">Area 4</option>
        <option value="5">Area 5</option>
    </select>
    <br />
    Town:
    <select id="ddlTown"> …
Run Code Online (Sandbox Code Playgroud)

javascript iphone web-applications mobile-safari mobile-website

14
推荐指数
1
解决办法
2万
查看次数

在音频文件中记录我的应用程序生成的所有声音(而不是从麦克风)

我有一个像仪器一样的屏幕.有按钮播放声音文件.

我想记录当用户按下单个音频文件中的按钮时播放的声音,以便我可以将该文件保存为mp4或其他音频格式.

能否指导我如何以简单的方式实现这一目标?

我能用麦克风录音 AVAudioRecorder

我认为,录音方法使用麦克风作为源,但我希望它使用我的应用程序的"音频输出"等效作为源.

audio xcode avaudiorecorder ios

9
推荐指数
1
解决办法
1221
查看次数

在ASP.NET中模拟成员资格用户

在一般asp.net的网站Membership,Roles与哈希密码启用,我想提供管理员impersonation,让他们可以浏览网站,作为会的用户.该网站应该像该用户登录一样运行,然后能够恢复到他们自己的登录.

实现这一目标的最佳方法是什么?

示例用例:具有两种类型用户的网站:"买方"和"管理员".该网站提供"购买"按钮,以购买管理员专门提供给用户的内容.即只有该买家才能使用购买按钮并付款.用户遇到问题,因此支持管理员可以"冒充"用户登录并代表他们购买或"看到"他们面临的问题.

没有模仿,唯一的方法是在代码中允许这样做,否定"看到用户问题"的目的.即使我没有使用散列密码并且已经使用FormsAuthentication.SignOut()并手动登录管理员作为用户.

我希望我上面有道理.

.net asp.net impersonation forms-authentication asp.net-membership

8
推荐指数
2
解决办法
2413
查看次数

将自定义/新属性添加到任何文件,无论类型和扩展名如何,例如在.txt文件上设置"作者"

我希望能够为文件添加属性和标签(特别是Windows 7中的电子书文件和电子书相关属性,但有兴趣尽可能多的操作系统)

例如,Example.txt或Example.doc或Example.epub应该存储和携带"作者","发布日期","标签"等属性.

属性应与文件本身一起存储.这样,如果它被转移到另一个系统,它会保留属性(即使我需要安装'我的应用程序'来支持另一台机器上的这个功能)

如何使用.net(首选)以及我应该学习哪些文件系统概念来理解能够实现此功能的基本概念和限制?

任何已经这样做的应用程序?谢谢

.net windows filesystems file file-properties

4
推荐指数
1
解决办法
5140
查看次数

如何从Image.Source获取Memory Stream/Base64字符串?

我有一个动态创建的Image控件,通过OpenFileDialog填充,如:

OpenFileDialog dialog = new OpenFileDialog();
if (dialog.ShowDialog() == true)
{
    using (FileStream stream = dialog.File.OpenRead())
    {                    
        BitmapImage bmp = new BitmapImage();
        bmp.SetSource(stream);
        myImage.Source = bmp;
    }
}
Run Code Online (Sandbox Code Playgroud)

我想在单独的函数调用中将图像作为字符串通过Web服务发送回服务器.

如何从myImage.Source获取内存流/ base64字符串

silverlight

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

URL 重写以问号中断

我想重写 url (DotNetNuke 友好 URL),如下所示:

/search.aspx?query=test到:~/SearchResults?search=test

我尝试过各种组合,但看起来它没有考虑网址中问号后面的部分

  <RewriterRule>
      <LookFor>.*/search.aspx?query=(.+)</LookFor>
      <SendTo>~/SearchResults?Search=$1</SendTo>
  </RewriterRule>
Run Code Online (Sandbox Code Playgroud)

但它不起作用..

我努力了:

  <RewriterRule>
      <LookFor>.*/search.aspx\?query=(.+)</LookFor>
      <SendTo>~/SearchResults?Search=$1</SendTo>
  </RewriterRule>
Run Code Online (Sandbox Code Playgroud)

但这也不适用于 url /search.aspx?query=test。我的 search.aspx 收到 404

这是DotNetNuke的web.config中的相关部分:

<friendlyUrl defaultProvider="DNNFriendlyUrl">
  <providers>
    <clear />
    <add name="DNNFriendlyUrl"
         type="DotNetNuke.Services.Url.FriendlyUrl.DNNFriendlyUrlProvider, DotNetNuke.HttpModules" 
         includePageName="true" 
         regexMatch="[^a-zA-Z0-9 _-]" 
         urlFormat="humanfriendly" />
  </providers>
</friendlyUrl>
Run Code Online (Sandbox Code Playgroud)

是否有什么原因导致它跳过?

这是友好的 url 重写器的源代码(如果有帮助的话)。我不太擅长正则表达式,所以我可以使用一些帮助。

https://dotnetnuke.codeplex.com/SourceControl/latest#Trunk/Content/Community/HttpModules/UrlRewrite/UrlRewriteModule.cs

regex asp.net dotnetnuke url-rewriting

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