小编Rob*_*Rob的帖子

与iOS 6.0本机Facebook集成共享:"通过我的应用名称发布"?

我刚刚通过ios 6将facebook集成到我的应用程序中,但是在我的墙上发布时遇到了问题.它只是说"通过ios app发布".我希望它说"通过应用名称发布".我已经与Facebook建立了应用程序标识,我有他们分配的应用程序编号,但我不确定如何将其与facebook集成集成.

以下是我的代码.如果有人可以提供帮助,我们将不胜感激.谢谢!

{
NSString *message;
message= [[NSString alloc] initWithFormat:@"I've earned %@ points", [self retrieveScore]];

if([SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook]) {

    SLComposeViewController *controller = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook];
    [controller setInitialText:message];
    [controller addURL:[NSURL URLWithString:@"http://mysite"]];
    [self presentViewController:controller animated:YES completion:Nil];
    [message release];

    SLComposeViewControllerCompletionHandler myBlock = ^(SLComposeViewControllerResult result){
        NSString *output= nil;
        switch (result) {
            case SLComposeViewControllerResultCancelled:
                output= @"Action Cancelled";
                NSLog (@"cancelled");
                break;
            case SLComposeViewControllerResultDone:
                output= @"Post Succesfull";
                NSLog (@"success");
                break;
            default:
                break;
        }
        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Facebook" message:output delegate:nil cancelButtonTitle:@"Ok" otherButtonTitles:nil];
        [alert …
Run Code Online (Sandbox Code Playgroud)

xcode facebook objective-c ios ios6

44
推荐指数
2
解决办法
3万
查看次数

CommandManager.InvalidateRequerySuggested()不够快.我能做什么?

精简版

调用CommandManager.InvalidateRequerySuggested()比我想要的更长时间才能生效(在UI控件被禁用之前1-2秒延迟).

长版

我有一个系统,我将任务提交给基于后台线程的任务处理器.此提交发生在WPF UI线程上.

当这个提交发生时,管理我的后台线程的对象做了两件事:

  1. 它引发了一个"忙"事件(仍然在UI线程上),几个视图模型响应; 当他们收到这个事件时,他们IsEnabled会给自己设置一面旗帜false.我的视图中的控件(数据绑定到此属性)会立即显示为灰色,这正是我所期望的.

  2. 它通知我的WPF ICommand对象不应该允许它们执行(同样,仍然在UI线程上).因为没有像对象那样INotifyPropertyChangedICommand东西,我被迫调用CommandManager.InvalidateRequerySuggested()强制WPF重新考虑我的所有命令对象的CanExecute状态(是的,我实际上需要这样做:否则,这些控件都不会被禁用).但是,与第1项不同,我的按钮/菜单项/等使用ICommand对象在视觉上更改为禁用状态所需的时间要长得多,而对于IsEnabled手动设置其属性的UI控件则需要更长的时间.

问题是,从用户体验的角度来看,这看起来很糟糕 ; 我的一半控件立即显示为灰色(因为它们的IsEnabled属性设置为false),然后整整1-2秒后,我的控件的另一半跟随(因为他们的CanExecute方法最终被重新评估).

所以,我的问题的第一部分:
听起来很愚蠢,有没有办法让CommandManager.InvalidateRequerySuggested()我的工作更快?我怀疑没有.

很公平,我的问题的第2部分:
我如何解决这个问题?我希望我的所有控件都可以同时禁用.它只是看起来不专业而且很尴尬.有任何想法吗?:-)

wpf icommand

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

WPF DataGrid:如何在单击单元格时停止自动滚动?

问题:
如果我DataGrid不完全可见(显示水平和垂直滚动条)并且我单击其中一个部分可见的单元格,则网格会自动滚动以将该单元格显示在视图中.我不希望这种情况发生.我试过玩RequestBringIntoView,像这样:

private void DataGrid_RequestBringIntoView(object sender, RequestBringIntoViewEventArgs e)
{
    e.Handled = true;
}
Run Code Online (Sandbox Code Playgroud)

但这没有任何作用.

我试过的事情:

  • 我的细胞是定制的UserControls; 我试图把一个事件处理程序RequestBringIntoView上的所有UserControls使我的细胞,并试图处理事件,想,也许我是不是只是处理做得不够RequestBringIntoViewDataGrid本身.这没用.
  • 举办了DataGrid一个内部的ScrollViewer,而办理ScrollViewerRequestBringIntoView事件.这实际上是有效的,并且停止了自动滚动行为,但在我的情况下托管一个DataGrid内部ScrollViewer是完全不可取的,所以我需要提出一个不同的解决方案.

我不知道如何阻止这种行为,任何想法?

wpf datagrid scroll wpfdatagrid

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

当应用程序在iOS中进入非活动/后台/暂停状态时,调度队列中的任务会发生什么?

我一直在搜索关于应用程序状态和Grand Central Dispatch的Apple文档,但我没有找到这个问题的好答案.

根据Apple的文档,在iOS 4.0上:

应用程序在后台但不执行代码.系统会在适当的时间自动将应用程序移动到此状态.暂停时,应用程序基本上在其当前状态下冻干,并且不执行任何代码.在内存不足的情况下,系统可能会清除已暂停的应用程序,恕不另行通知,以便为前台应用程序腾出更多空

因此,假设系统没有清除挂起的应用程序(挂起 - >未运行转换),当前在调度队列中执行的任务会发生什么?短语"基本上冻干"还有很多不足之处 - 究竟什么是冷冻干燥的?

我的解释是当应用程序转换回活动状态时,应用程序在暂停时使用的GCD队列需要恢复; 根据这种解释,暂停前GCD队列中存在的任务将消失.我的解释是否正确?

objective-c grand-central-dispatch ios

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

为什么我的C#客户端,POST到我的WCF REST服务,返回(400)错误请求?

我正在尝试向我编写的简单WCF服务发送POST请求,但我一直收到400错误请求.我正在尝试将JSON数据发送到服务.谁能发现我做错了什么?:-)

这是我的服务界面:

public interface Itestservice
{
    [OperationContract]
    [WebInvoke(
        Method = "POST",
        UriTemplate = "/create",
        RequestFormat = WebMessageFormat.Json,
        ResponseFormat = WebMessageFormat.Json)]
    String Create(TestData testData);
}
Run Code Online (Sandbox Code Playgroud)

实施:

public class testservice: Itestservice
{
    public String Create(TestData testData)
    {
        return "Hello, your test data is " + testData.SomeData;
    }
}
Run Code Online (Sandbox Code Playgroud)

DataContract:

[DataContract]
public class TestData
{
    [DataMember]
    public String SomeData { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

最后我的客户端代码:

private static void TestCreatePost()
{
    Console.WriteLine("testservice.svc/create POST:");
    Console.WriteLine("-----------------------");

    Uri address = new Uri("http://localhost:" + PORT + "/testweb/testservice.svc/create");

    // …
Run Code Online (Sandbox Code Playgroud)

c# rest wcf post

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

iPhone/Xcode:不同的项目目标可以有不同的包标识符吗?

我有点困惑这是如何工作的 - 这是我的理解:

  • 目标的配置文件链接到特定的应用程序ID
  • 目标的包标识符位于Target info\Properies\Identifier下

但是......捆绑ID也位于Info.plist中.看来如果你在Info.plist中更改了包ID ,Xcode会自动在Target info\Properties\Identifier中更改它,反之亦然.

那么哪个优先呢?该目标信息\属性\标识捆绑ID或Info.plist的捆绑ID?

我问的原因是因为我想为我的应用程序提供两个版本 - 免费广告支持版本和付费版本,我想用两个不同的目标实现这一目标.由于他们将是App Store中的两个不同的应用程序,我的理解是他们需要两个不同的应用程序ID(我不想沿着带有应用程序ID的*路线,在App Store上如何工作的描述使我的脑部受伤).

如果我这样做,我是否需要为每个目标使用两个不同的Info.plists,或者我可以使用相同的Info.plist,只是让不同的目标使用不同的开发/分发配置文件?

iphone xcode

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

log4net与ASP.NET 3.5的问题

我在使用ASP.NET 3.5上运行log4net时遇到了一些麻烦.这是我第一次尝试使用log4net,我觉得我错过了一块拼图.

我的项目引用了log4net程序集,据我所知,它正在我的服务器上成功部署.

我的web.config包含以下内容:

  <configSections>
    <section name="log4net"
      type="log4net.Config.Log4NetConfigurationSectionHandler
      , log4net"
      requirePermission="false"/>
  </configSections>

  <log4net>
    <appender name="InfoAppender" type="log4net.Appender.FileAppender">
      <file value="..\..\logs\\InfoLog.html" />
      <appendToFile value="true" />
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern
          value="%d [%t] %-5p %c [%x] - %m%n" />
      </layout>
    </appender>
    <logger name="_Default">
      <level value="INFO" />
      <appender-ref ref="InfoAppender" />
    </logger>
  </log4net>
Run Code Online (Sandbox Code Playgroud)

我正在使用以下代码来测试记录器:

using log4net;
using log4net.Config;

public partial class _Default : System.Web.UI.Page
{
    private static readonly ILog log = LogManager.GetLogger("_Default");

    protected void Page_Load(object sender, EventArgs e)
    {
        log.Info("Hello logging world!");
    }
}
Run Code Online (Sandbox Code Playgroud)

在我的Global.asax中,我正在做以下事情:

void Application_Start(object sender, …
Run Code Online (Sandbox Code Playgroud)

asp.net log4net web-config .net-3.5 global-asax

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

您将如何设计RESTful投票系统?

在我不断寻求尝试围绕RESTful-ness进行思考的过程中,我来到了另一个我不确定如何继续的地方.我为自己设定了一个思想表达,我为一个资源设计了一个简单的投票系统,就像SO如何允许对问题进行投票一样.所以,说我的资源是图像,我可以通过ID获取图像,如下所示:

http://www.mysite.com/images/123123
Run Code Online (Sandbox Code Playgroud)

在这个例子中,返回的是一个图像的JSON表示,如下所示:

{
"URL":"http://www.mysite.com/images/123123.jpg",
"Rep":"100"
}
Run Code Online (Sandbox Code Playgroud)

我如何设计一种对该图像进行"投票"的方式?我想要两个操作; 投票和投票.客户不应该知道每个人承受多少重量,因为我希望在服务器级别决定投票/投票的奖励,以便我可以随时更改它.

我的第一个想法是拥有这样的东西:

http://www.mysite.com/vote/images?image=123123
Run Code Online (Sandbox Code Playgroud)

对于该URL,可以发布如下内容:

{
"Vote":"UpVote"
}
Run Code Online (Sandbox Code Playgroud)

但我对此保持警惕 - 对我说伪装的RPC.设计这个会是一种糟糕的方式吗?如果是这样,我可以尝试其他什么设计?

rest

13
推荐指数
2
解决办法
1809
查看次数

为什么标识符不能以数字开头?

为什么在java中(我不知道任何其他编程语言)标识符不能以数字开头,为什么以下声明也不允许?

int :b;
int -d;  
int e#;
int .f;
int 7g;
Run Code Online (Sandbox Code Playgroud)

java

13
推荐指数
2
解决办法
7843
查看次数

无法安装数据库图表支持对象

这非常令人困惑.每当我尝试在SQL Server Management Studio Express(SQL Server 2008)中的数据库节点下添加(或甚至查看)Database Diagrams节点时,我都会收到此错误:

无法安装数据库关系图支持对象,因为此数据库没有有效的所有者.要继续,首先使用"数据库属性"对话框的"文件"页面或ALTER AUTHORIZATION语句将数据库所有者设置为有效登录,然后添加数据库关系图支持对象.

好的.问题是,根据Management Studio,我的登录名是数据库的所有者.当我登录Management Studio时,我正在使用Windows身份验证,如果我转到"数据库属性"对话框的"文件"页面,我的登录名是所有者.

接下来我想,好吧,也许我不是正确服务器角色的成员实际上是所有者,但是,我的登录是sysadmin服务器角色的成员,根据此MDSN页面是拥有的必备条件一个数据库.

所以最后我做了一些谷歌搜索,我看到人们告诉我尝试执行这样的声明:

EXEC sp_dbcmptlevel 'yourDB', '90';
go
ALTER AUTHORIZATION ON DATABASE::yourDB TO "yourLogin"
go
use [yourDB]
go
EXECUTE AS USER = N'dbo' REVERT
go
Run Code Online (Sandbox Code Playgroud)

我的问题在于我并不真正理解这段代码在做什么,并且使用上述语句(看起来成功执行)尝试不同的用户名或数据库名称似乎无法解决我的问题.

谁能想到我可能会遗失的任何事情?

database sql-server-2008

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