isEqualToString不起作用

时间:2013-08-03 07:33:40

标签: ios objective-c nsstring

由于某些原因,当我执行[string isEqualToString:string]时,我得到“否”。

在图片中,“item”被声明为@property NSString *item;我最初宣称它是普通的NSString *item,但它仍然没有用。

任何想法我做错了什么?

这是代码,我试图做一个屏幕截图来显示调试器输出,但没有足够的声誉。

- (IBAction)playCourseSelection:(id)sender
{
    // Get File Directory
    NSArray *arrayPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *docDirectory = [arrayPaths objectAtIndex:0];
    NSString *filePath = [docDirectory stringByAppendingString:@"/playCourse.txt"];

    // Write String for course
    NSString *writeString = item;

    BOOL test;

    test = [item isEqualToString:@"Add Course..."];

    if (test)
    {
        writeString = @"";
    };

    [writeString writeToFile:filePath atomically:YES encoding:NSUTF8StringEncoding error:nil];

    // Close the file
}

self            EditCourseViewController *  0x0848c770
test            BOOL    '\0'
writeString NSString *  0x07676b80
item            NSString *  0x07676b80

2 个答案:

答案 0 :(得分:1)

`@"添加课程......"不等于物品。

如果你看到NSLog(@" item是%@",item);控制台打印" item is (null)"

所以[项目isEqualToString:@"添加课程......"]是否

答案 1 :(得分:-2)

我想出了答案。谁知道这需要永远(就像整天一样)。所以我猜XCode识别省略号(...)的点,并为它们分配一个不同于三个句点的值。我删除了三个句点并且有效:

enter image description here