Klasse definieren, wie folgend:NSString isEqualToString Arbeits nicht
@interface KNBookmark : NSObject
@property (nonatomic, strong) NSString *bookmarkId ;
@property (nonatomic, strong) NSString *novelName ;
@property (nonatomic, strong) NSString *novelId ;
@property (nonatomic, strong) NSString *novelPic ;
@property (nonatomic, strong) NSString *articleId ;
@property (nonatomic, strong) NSString *articleTitle ;
@property (nonatomic, strong) NSNumber *readRate ;
@end
@interface KNArticle : NSObject
@property (nonatomic, strong) NSString *num ;
@property (nonatomic, strong) NSString *articleId ;
@property (nonatomic, strong) NSString *title ;
@property (nonatomic, strong) NSString *subject ;
@property (nonatomic, strong) NSString *text ;
@end
Der Quellcode:
for(int i=0;i<count;i++)
{
KNArticle* article=[self.novel.articles objectAtIndex:i];
NSLog(@"bookmark articleId='%@' articleId='%@'",self.bookmark.articleId,article.articleId);
NSLog(@"bookmark articleId class='%@' articleId class='%@'",[self.bookmark.articleId class],[article.articleId class]);
if([self.bookmark.articleId isEqualToString:article.articleId])
{
NSLog(@"equal");
self.indexArticles=i;
break;
}
else
NSLog(@"not equal");
}
Die NSLog Ausgang wie folgt:
2014-07-16 22:56:14.768 novel[12685:90b] bookmark articleId='5680285' articleId='5680285'
2014-07-16 22:56:14.768 novel[12685:90b] bookmark articleId class='__NSCFString' articleId class='__NSCFNumber'
2014-07-16 22:56:14.769 novel[12685:90b] not equal
warum 5.680.295 'ungleich '5680295 "? Ich habe den folgenden Code versuchen:
Der obige Code zeigt die "gleich", aber ich weiß immer noch nicht warum?
Es ist eine 5-Sekunden-Lücke in diesen Protokollzeilen. Warum das? – trojanfoe
@trojanfoe, es ist wahrscheinlich nur das OP durch die Zeilen im Debugger. – Anna
ich denke, seine typecast Problem vielleicht. können Sie beide, die beide sind 'NSString' oder nicht mit' isKindOfClass' wie 'if ([article.articleId isKindOfClass: [NSString Klasse]])' –