问题列表 - 第16559页

使用[[NSBundle mainBundle] pathForResource获取.plist路径时出现问题

我是一个Objective C菜鸟,我不太了解以下问题.

此代码有效:

NSString *plistPath = @"/Users/andrewf/MyApp/Resources/Plates.plist";
dicPlates = [[NSDictionary alloc] initWithContentsOfFile:plistPath];
Run Code Online (Sandbox Code Playgroud)

我的字典对象按预期加载了值.

此代码不起作用:

NSString *plistPath = [[NSBundle mainBundle] pathForResource:@"Plates" ofType:@"plist"];
dicPlates = [[NSDictionary alloc] initWithContentsOfFile:plistPath];
Run Code Online (Sandbox Code Playgroud)

plistPath返回值为nil.无论我是否在调用中包含inDirectory:@"Resources",情况都是如此.尝试在Resources目录中打开.plist文件时,我发现的所有示例都不包含inDirectory.

我已经确认该文件存在于正确的位置,甚至可以重新创建它.

这似乎是一个简单的问题,但我很神秘.请协助.

iphone objective-c nsbundle

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

在Mathematica中有针对性的简化

我生成了一般形式的非常长且复杂的分析表达式:

(...something not so complex...)(...ditto...)(...ditto...)...lots...
Run Code Online (Sandbox Code Playgroud)

当我尝试使用时Simplify,Mathematica陷入停顿,我假设它是因为它试图扩展括号和/或简化不同的括号.包含长表达式的括号很容易由Mathematica自行简化.有什么方法可以一次限制Simplify一个支架的范围吗?

编辑:一些额外的信息和进展.

因此,根据你们的建议,我现在开始使用一些东西了

In[1]:= trouble = Log[(x + I y) (x - I y) + Sqrt[(a + I b) (a - I b)]];

In[2]:= Replace[trouble, form_ /; (Head[form] == Times) :> Simplify[form],{3}]

Out[2]= Log[Sqrt[a^2 + b^2] + (x - I y) (x + I y)]
Run Code Online (Sandbox Code Playgroud)

改变Times到适当的头部PlusPower使得可以非常准确地瞄准简化.但是,仍然存在以下问题/问题:仍然Simplify会比指定的级别深入下降Replace,例如

In[3]:= Replace[trouble, form_ /; (Head[form] == Plus) :> Simplify[form], {1}]

Out[3]= Log[Sqrt[a^2 + b^2] …
Run Code Online (Sandbox Code Playgroud)

wolfram-mathematica

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

替换或删除一个null(python)

我想删除字符串中的一个空字节,有时用另一个字符替换它.像那样 :

string ="41 00 36 00 36 00 00 00 57 00 46 00 42 00 41 00 61 00 62 00 73 00 20 00 36 00"

我正在考虑使用随机和替换,但替换总是从第一个开始:

replace("00","B",1)
Run Code Online (Sandbox Code Playgroud)

所以这不是随机的.

任何帮助将不胜感激 !

编辑:我的意思是零到00,我犯了一个错误:

string ="41 00 36 00 36 00 00 00 57 00 46 00 42 00 41 00 61 00 62 00 73 00 20 00 36 00"

谢谢

python random replace

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

onFocus和onChange之间的Javascript事件

我正在编写一个网页,当用户在给定的输入字段中更改文本时,我想运行一些Javascript代码,但我无法弄清楚哪个事件要陷阱(假设一个存在)会给我行为我在找. onFocus发生得太快 - 如果用户选择字段但不更改任何文本,我不希望发生任何事情.但onChange为时已晚 - 我希望用户在开始输入时立即触发Javascript,而不是在用户完成输入并点击其他内容时.我怎么能做到这一点?

javascript javascript-events

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

在Visual Studio中搜索时仅包括某些文件类型

通常,当我想在Visual Studio中搜索我的代码时,我知道我正在寻找的东西是在一些C#代码中.但是,由于我在JavaScript文件中使用了相同的变量名称,因此我也必须浏览所有这些搜索结果.当我正在寻找的文本也用于我们带入项目的第三方JavaScript库时,情况会变得更糟:这可能导致数百个搜索结果.

为了复合,我们的设计师在同一个项目中包含了HTML模型,因此我经常发现我也在那里搜索大量的搜索结果.

我想我真正想要的是在我的.cs,.aspx和.ascx文件中看到结果,但不是.js或.htm.

有没有办法做以下任何事情:

  • 仅搜索特定类型的文件(仅搜索.cs文件).
  • 仅搜索任何给定类型的文件(仅搜索.cs,.aspx和.ascx文件).
  • 搜索除特定类型或类型之外的所有文件类型(搜索除.js之外的所有内容).

我怀疑不是,在这种情况下有什么狡猾的解决方法吗?

search replace find visual-studio-2008 visual-studio

96
推荐指数
5
解决办法
3万
查看次数

jQuery回调发生得太快了?

我正在使用ASP.NET MVC C#

我有一个jQuery调用删除一本书,然后在回调中我调用一个刷新书籍列表的函数.

function rembook(id) {
        var agree=confirm("Deletion cannot be undone.  Continue?");
        if (agree)
        {
            jQuery.ajax({ url: "/Books/Delete/" + id, dataType: null, type: "POST", cache: true, callback: LoadBooks(), data: null });
            return false;
        }
        else
            return false;
    }   
Run Code Online (Sandbox Code Playgroud)

这是LoadBooks(),如果重要的话:

function LoadBooks() {
        $(".BookList").hide();
        $(".BookList").load("/Books/Edit/<%= Model.AuthorID %>");
        $(".BookList").show('slow');
    }
Run Code Online (Sandbox Code Playgroud)

后期工作和LoadBooks()函数被调用.但是,刷新的书籍列表仍包含已删除的书籍.如果我然后手动调用LoadBooks()函数(通过页面上的链接),则会在没有删除的书籍的情况下重新加载书籍.为什么第一本书重新加载仍显示已删除的书?是否在实际删除本书之前发生了?

(我使用$ .post获得相同的结果("/ Books/Delete /"+ id,LoadProperties());)

谢谢.

ajax asp.net-mvc jquery callback

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

在php中使用数组

有没有一种简单的方法来获取PHP数组中所有项目的总数?

另外,如何输出数组的内容以进行调试?

php arrays

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

如何通过ControlTemplate中的Trigger设置DropShadowEffect的属性?

我有一个Button ControlTemplate和我试图修改DropShadowEffectBorder使用Trigger.这是我的Xaml:

<Button.Template>
  <ControlTemplate TargetType="Button">
    <Border x:Name="ButtonBorder" Margin="10" CornerRadius="5" Background="Gray">
      <Border.Effect>
        <DropShadowEffect ShadowDepth="5" x:Name="BorderEffect" />
      </Border.Effect>
      <ContentPresenter HorizontalAlignment="Center" />
    </Border>
    <ControlTemplate.Triggers>
      <Trigger Property="Button.IsMouseOver" Value="True">
        <Setter Property="Background" TargetName="ButtonBorder" Value="LightGray" />
      </Trigger>
      <Trigger Property="Button.IsPressed" Value="True">
        <Setter Property="Margin" TargetName="ButtonBorder" Value="13,13,7,7" />
        <!-- this is where I get the error -->
        <Setter Property="ShadowDepth" TargetName="BorderEffect" Value="2" />
      </Trigger>
    </ControlTemplate.Triggers>
  </ControlTemplate>
</Button.Template>
Run Code Online (Sandbox Code Playgroud)

我得到错误声明无法找到BorderEffect.
我也尝试过:

<Setter Property="Effect.ShadowDepth" TargetName="ButtonBorder" Value="2" />
Run Code Online (Sandbox Code Playgroud)

但我也得到一个错误,告诉我ShadowDepth在类型的对象上找不到属性Effect(因为它使用的是基类而不是DropShadowEffect)

我怎么解决这个问题?

wpf triggers controltemplate

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

C#:强制转换为基类型的通用接口

这是代码:

public interface IValidator<T>
{
   bool IsValid(T obj);
}

public class OrderValidator: IValidator<Order>
{
  // ...
}

public class BaseEntity
{
}

public class Order: BaseEntity
{
}
Run Code Online (Sandbox Code Playgroud)

问题是我做不到:

var validator = new OrderValidator();
// this line throws because type can't be converted
var baseValidator = (IValidator<BaseEntity>)validator;
// all this is because I need a list with IValidator<Order>, IValidator<BaseOrder>, etc.
IList<IValidator<BaseEntity>> allValidators = ... 
Run Code Online (Sandbox Code Playgroud)

如何获取并存储基础T的所有IValidator <T>实现的列表 - 比如BaseEntity?目前我做的是非通用的IValidator,接受"对象obj",但它不好,不是类型安全的.

有趣的是C#允许编译:

var test = (IValidator<BaseEntity>)new OrderValidator();
Run Code Online (Sandbox Code Playgroud)

但在运行时失败了

   Unable to cast …
Run Code Online (Sandbox Code Playgroud)

c# generics

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

如果浏览器忽略了他们不理解的CSS,为什么要使用Modernizr?

我一直在与Modernizr合作,这是一个很棒的资源,只是一个伟大的项目.但是,我一直在使用它的方式是:

  • 使用基线(IE)CSS进行设计
  • 使用CSS3效果增强高级浏览器

除非我要根据行为完全替换样式,为什么我不应该只在样式表中添加框阴影,渐变和边框半径等样式?如果浏览器不理解规则,它会忽略它,对吗?如果JavaScript关闭,我无论如何都无法使用它.

我应该在典型案例中使用上述方法吗?对于高级案例,我应该使用Modernizr吗?或者依靠浏览器忽略他们不理解的东西有什么不对吗?

html css modernizr

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