【发布时间】:2023-03-22 04:05:01
【问题描述】:
我正在开发一个应用程序,它显示从应用程序附带的列表中随机选择的俳句。用户可以将俳句标记为“最爱”(也可以取消标记)。模拟器一切正常,NSLog 将每个俳句的布尔属性 isFavorite 显示为 0 或 1。
但是当我在 iPhone 上运行应用程序时,NSLog 显示布尔属性有时为 0,有时为 1,有时为 96,有时为 -32,与用户是否真的喜欢俳句没有任何关联。我该如何解决这个问题?
EDIT:这是我正在使用的代码:
-(void)displayHaiku {
[self.displayHaikuTextView removeFromSuperview];
self.haiku = [[GHHaikuInstance alloc] init];
NSLog(@"Is haiku favorite? %d",self.haiku.isFavorite);
//On simulator the above line always logs 0 or 1, correlated exactly with whether the haiku has been marked "favorite." On iPhone it could be any number, and shows no correlation.
//Code that displays haiku onscreen.
}
isFavorite 是在GHHaikuInstance 中声明和合成的 BOOL,但只有当用户将其标记为收藏时它才会设置为 1。 (换句话说——我没有明确地将其设置为 0;我只是使用默认值 0,直到用户将其更改为 1。)
【问题讨论】:
-
你确定你用过 %d 吗?
-
你用的是什么代码?
-
刚刚添加了代码来澄清。
-
而 isFavourite 被定义为....?
-
已添加说明。谢谢,戴夫。
标签: ios objective-c iphone xcode boolean