簡體   English   中英

數組中的對象未被識別為具有“方法”

[英]Object in Array is not recognised as having “methods”

我讓我的應用程序稍作恢復,但是在完全意外刪除它之后,我嘗試從第一個方框創建它。 不幸的是,我改寫的程序有些古怪; 有誰看到或知道錯誤的可能來源? 另外,我的if語句正在起作用。

-(void)loadAnnotations
{
    CLLocationCoordinate2D workingCoordinate;
    iProspectLiteAppDelegate *appDelegate = (iProspectLiteAppDelegate *)[[UIApplication sharedApplication] delegate];
    NSMutableArray *mines =[[NSMutableArray alloc] initWithArray:(NSMutableArray *) appDelegate.mines];
    BOOL gold = [[NSUserDefaults standardUserDefaults] boolForKey:@"goldControl"];
    BOOL silver = [[NSUserDefaults standardUserDefaults] boolForKey:@"silverControl"];
    BOOL copper = [[NSUserDefaults standardUserDefaults] boolForKey:@"copperControl"];
    for(id mine in mines)
    {
    NSLog(@"in the loop");
    workingCoordinate.latitude = [[mine latitudeInitial] doubleValue];
    workingCoordinate.longitude = [[mine longitudeInitial] doubleValue];
    iProspectLiteAnnotation *tempMine = [[iProspectLiteAnnotation alloc] initWithCoordinate:workingCoordinate];
    [tempMine setTite:[mine mineName]];

    if ([[mine commodity] isEqualToString:@"Gold"] && [gold == YES])
    {
        [tempMine setAnnotationType:iProspectLiteAnnotationTypeGold];
        [mapView addAnnotation:tempMine];
    }
    if([[mine commodity] isEqualToString:@"Silver"] && [silver == YES])
    {
        [tempMine setAnnotationType:iProspectLiteAnnotationTypeSilver];
    }
    if([[mine commodity] isEqualToString:@"Copper"] && [copper == YES])
    {
        [tempMine setAnnotationType:iProspectLiteAnnotationTypeCopper];
    }
}
[mines dealloc];
}

其中workingCoordinate.latitude = [[mine latitudeInitial] doubleValue],以及經度和[mine mineName],它說“找不到'-latitudeInitiallongitudeInitial'方法”或mineName / LongitudeInitial。 同樣,它在所有if語句行都抱怨:before]。 我沒有看到任何錯誤,是嗎?

您正在使用的迭代器為您提供id類型的對象-在這些對象上調用方法通常會使編譯器感到困惑。 您可以將它們轉換為已知類型嗎?

喜歡for(MineType* mine in mines)嗎?

[tempMine setTite:[mine mineName]];

那是錯字嗎? 我的猜測是您將調用該方法setTitle

我認為將for循環中我的對象的對象類型更改為具有latitudeInitial,longitudeInitial,mineName屬性/方法的任何自定義類都可以解決此問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM