小编Moo*_*Cat的帖子

检查Optional Bool的值

当我想检查一个Optional Bool是否为true时,执行此操作不起作用:

var boolean : Bool? = false
if boolean{
}
Run Code Online (Sandbox Code Playgroud)

它导致此错误:

可选类型'@IvalueBool?' 不能用作布尔值; 测试'!= nil'而不是

我不想检查零; 我想检查返回的值是否为true.

if boolean == true如果我正在使用Optional Bool,我是否总是必须这样做?

由于Optionals不再符合BooleanType,编译器是否应该知道我想检查Bool的值?

boolean optional swift

76
推荐指数
3
解决办法
6万
查看次数

哪些Swift类型可以在Objective-C中表示?

我正在Swift中创建一个NSManagedObject子类,当我创建一个类型为Int,Float或Double的可选属性时,我得到一个错误(也许是其他我没试过的).

@NSManaged var number: Float? //error:Property cannot be marked @NSManaged because its type cannot be represented in Objective-C
@NSManaged var anotherNumber: Float //no error
@NSManaged var array: NSArray? //no error
@NSManaged var anotherArray: Array<String>? //no error
Run Code Online (Sandbox Code Playgroud)

Objective-C中可以表示哪些可选类型?当我使用Swift数组或字符串时(以及当我没有使用Optional Int或Double时),为什么不出现错误?

objective-c optional nsmanagedobject swift

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

UITextView中的归因文本导致崩溃

这是我在UITextView中显示属性字符串的代码

NSMutableAttributedString *recipeString =[[NSMutableAttributedString alloc]init];
    [recipeString appendAttributedString:string1];
    [recipeString appendAttributedString:string2];
    [array addObject:recipeString];
Run Code Online (Sandbox Code Playgroud)

这段代码在for循环中.string1并且string2NSMutableAttributedString.

之后:

self.textView.text = [array objectAtIndex:self.appDelegate.selectedCell];
Run Code Online (Sandbox Code Playgroud)

文本视图是一个IBOutlet.

它崩溃了这个例外:

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[NSConcreteAttributedString _isCString]: unrecognized selector sent to instance 0x8e866f0'
Run Code Online (Sandbox Code Playgroud)

有关如何修复此崩溃的任何想法?

cocoa-touch uitextview nsattributedstring ios

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