Ily*_*mov 2 compare objective-c nsstring
我无法使用字符串值保存数组中的选定项.知道什么是错的吗?
它是我的比较代码:
if(self.detailItem){
[WebView loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:[self.detailItem description] ofType:@"html"]isDirectory:NO]]];
NSString *value = (NSString *)self.detailItem;
NSString *value1 = (NSString *)@"DecideVectorVPiramidi";
value=[NSString stringWithFormat:@"%@", value];
value1=[NSString stringWithFormat:@"%@", value1];
if (value == value1) {
WebView.scalesPageToFit=YES;
}
Run Code Online (Sandbox Code Playgroud)
这是数组代码:
case 1:
switch (self.nomberInSection) {
case 0:
self.detailViewController.detailItem =[NSString stringWithFormat:@"%@", [DecideOfZakusPath objectAtIndex:indexPath.row]];
break;
}
break;
Run Code Online (Sandbox Code Playgroud)
类型detailItem是id.
对于错误,我查了一下
你需要使用isEqualToString.该==运营商将仅参考比较.
这意味着你必须这样做
if ( [value isEqualToString:value1] )
{
...
Run Code Online (Sandbox Code Playgroud)
你的两个字符串将指向两个不同的内存位置,==并将比较这两个内存位置,并因此评估为NO.的isEqualToString,或者isEqual,是用做使用字符串相等的规则(即,如果两个字符串包含相同的字符,它们被认为是相等的)字符串比较的方法.
这可能有点违反直觉.在Objective-C中,无法进行运算符重载.在许多其他语言中,可以重载运算符,以便可以使用相等运算符对内置类和自定义类进行值比较.
| 归档时间: |
|
| 查看次数: |
1896 次 |
| 最近记录: |