小编Leo*_*onS的帖子

在if语句中展开多个选项

我想在一个if语句中解包两个选项,但是编译器在操作符密码常量后抱怨了一个预期的表达式.可能是什么原因?

    if let email = self.emailField?.text && let password = self.passwordField?.text
    {
        //do smthg
    }
Run Code Online (Sandbox Code Playgroud)

在Swift完成.

optional swift

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

将布尔值传递给update_attributes的问题

我有以下型号:

class GuestCatering < ActiveRecord::Base

  # Validation
  validates :name, :presence => true
  validates :order_number, :presence => true
  validates :orderable, :presence => true

end
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试使用以下代码更新现有的GuestCatering时:

guest_catering.update_attributes(:orderable => false)
Run Code Online (Sandbox Code Playgroud)

来宾餐饮变量是有效的GuestCatering对象.guest_catering对象在更新后有错误,如下所示:

<{[:orderable, ["can't be blank"]]=>nil}>
Run Code Online (Sandbox Code Playgroud)

但是当我通过时orderable => true,一切都很好,没有错误.

这里有什么问题,为什么我不能设置为虚假的?

ruby activerecord model ruby-on-rails update-attributes

30
推荐指数
2
解决办法
4838
查看次数

如何保护私有REST API

我目前正在考虑如何保护仅由我的移动应用程序使用的REST API被其他应用程序使用?API密钥可以是一个很好的解决方案,因为只有我知道秘密的API密钥.有更好的解决方案吗?

api rest soa distributed interface

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

Haskell读取文件行

我想将整个文件读入一个字符串,然后使用该函数lines来获取字符串的行.我正在尝试使用以下代码行:

main = do
   args <- getArgs
   content <- readFile (args !! 0)
   linesOfFiles <- lines content
Run Code Online (Sandbox Code Playgroud)

但我通过编译广告失败得到以下错误:

Couldn't match expected type `IO t0' with actual type `[String]'
In the return type of a call of `lines'
In a stmt of a 'do' block: linesOfFiles <- lines content
Run Code Online (Sandbox Code Playgroud)

我认为通过将结果绑定readFile到内容它将是一个StringDataType,为什么不是呢?

io haskell file

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

获取多行UILabel的最后一行的宽度

我有一个动态的多行的UILabel和需要知道的可见文本(不是标签)的文本的末尾(X坐标),所以我可以显示文本之后的东西.这可能吗?

谢谢

iphone text view objective-c uilabel

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

在iOS6上使用insertObject:atIndex:的异常

我在iOS6上获得以下异常(在带有CoreData的应用程序上):

"2012-10-15 10:21:28.952 MyApp [68650:c07] *由于未捕获的异常'NSInvalidArgumentException'终止应用程序,原因:'* - [__ NSArrayM insertObject:atIndex:]:对象不能为nil' *第一次调用堆栈:(0x28e6012 0x2659e7e 0x2899b6a 0x2899a20 0x1646941 0x1642c67 0x164f846 0x164f908 0x6c540 0x2057e83 0x28a5376 0x28a4e06 0x288ca82 0x288bf44 0x288be1b 0x33967e3 0x3396668 0x15a165c 0x13a22 0x2845)libc ++ abi.dylib:terminate调用抛出异常"

这在iOS5上不会发生,所以在iOS6上发生的事情我不明白.我在每个调用insertObject的地方设置了一个断点:atIndex:但是这些都没有被调用 - 它必须是这个libc ++ abi.dylib中被调用和崩溃的东西.有谁知道什么可能是错的?

谢谢

exception core-data ios ios6

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

-webkit-border-radius看起来很难看

我正在为具有以下属性的灯箱div设计样式:

#lightbox {
  border: 0.3em solid #acaeb0;
  -webkit-border-radius: 1em;
  background: #eee -webkit-gradient(linear, 0% 60%, 0% 100%, from(#eee), to(#ccc));
  -webkit-box-shadow: 0 0 0.6em 0.3em #888;
}
Run Code Online (Sandbox Code Playgroud)

问题是产生的圆角看起来非常难看(使用safari5):

在此输入图像描述

问题是圆角处的白色空间.你知道我怎么能避免这种行为吗?

编辑:添加-webkit-background-clip: padding-box;属性后,它看起来更好但不完美:

在此输入图像描述

我缩小了边框的宽度,但看起来与粗边框相同.我是否必须设置另一个属性以使其看起来完美?

EDIT2:似乎是webkit的Bug:https://bugs.webkit.org/show_bug.cgi id = 21819

html css safari webkit css3

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

C++运算符<重载

我有一个重载<运算符的问题.我有这门课:

WordEntry.h:

class WordEntry
{
public:
    WordEntry(string word);
    ~WordEntry();

    bool operator<(const WordEntry otherWordEntry);

    string getWord();

private:
    string _word;
};
Run Code Online (Sandbox Code Playgroud)

WordEntry.cpp(我删除了构造函数和析构函数):

string WordEntry::getWord()
{
   return _word;
}


bool WordEntry::operator<(WordEntry otherWordEntry)
{
   return  lexicographical_compare(_word.begin(),_word.end(),otherWordEntry.getWord().begin(),otherWordEntry.getWord().end());
}
Run Code Online (Sandbox Code Playgroud)

当我在main.cpp中使用它时,一切都很好:

    WordEntry w1("Der");
    WordEntry w2("das");

    if (w1.operator<(w2)) {
       cout << "w1 > w2";
    }
    else 
    {
       cout << "w2 > w1";
    }
Run Code Online (Sandbox Code Playgroud)

但是,当我叫sort()上一个vectorWordEntry对象,我会得到错误信息

二进制表达式的操作数无效('const WordEntry'和'const WordEntry')

它指向stl_algo.h.

有谁知道这里发生了什么?

c++ sorting operators

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

ObjC++中的私有方法

我需要将ObjC类实现文件重命名为*.mm,因为我使用的是C++ Framework(Box2D).重命名文件并将Filetype设置为"sourcecode.cpp.objcpp"后,我的以下私有方法声明会产生一些错误,例如:

错误:'私人'之前的预期标识符

方法声明:

@interface GameplayLayer(private)
 - (void)spawnTick:(ccTime)delta;
 - (void)pushSpawnTick;
@end
Run Code Online (Sandbox Code Playgroud)

如何在ObjC++中使用私有方法的声明?

iphone objective-c++

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

Rails为大写名称命名约定

我有一个模型类:

class QRCode < ActiveRecord::Base

  has_many :properties

end
Run Code Online (Sandbox Code Playgroud)

因此rails需要一个名为'qr_codes'的数据库表和一个名为'qr_code_id'的外键.但作为我的物业模型中的关系,它需要另一个名称:

class Property < ActiveRecord::Base

  belongs_to :q_r_code

end
Run Code Online (Sandbox Code Playgroud)

因此,如果我想创建一个Property对象,我必须说':q_r_code => qrcode'但是active_record需要一个qr_code属性,因为该列被称为'qr_code_id'

我是否理解错误或者这种类型的名称无法映射到Rails?

PS:我正在使用Rails 3.0.3

ruby activerecord naming model ruby-on-rails

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