2016-04-04 4 views
0

Ich habe Accessories.m:Xcode lange kompilieren .m

#import "Accessories.h" 

@implementation Accessories 

+(NSArray*)getItemsFor:(NSInteger)n 
{ 
    NSMutableArray *items = [NSMutableArray array]; 
    Accessories *item; 
    BOOL en = true; 

    //From this 
    item = [[Accessories alloc] init]; 
    [item setImage: @""]; 
    [item setName: en ? @"" : @""]; 
    [item setPriceName: @""]; 
    [item setLevel: en ? @"" : @""]; 
    [item setPositive: en ? @"" : @""]; 
    [item setNegative: en ? @"" : @""]; 
    [item setDescrip: en ? @"" : @""]; 
    [item setText: en ? @"" : @""]; 
    [item setTrivia: en ? @"" : @""]; 
    [item setBugs: en ? @"" : @""]; 
    [item setWornBy: en ? @"" : @""]; 
    [item setSlot: en ? @"" : @""]; 
    [item setEquipRegion: en ? @"" : @""]; 
    [item setContributedBy: en ? @"" : @""]; 
    [item setReleased: en ? @"" : @""]; 
    [item setAvailability: en ? @"" : @""]; 
    [items addObject:item]; 
    //Up here it is repeat 1200 

    return items; 
} 

@end 

Und ich habe dies: enter image description here Es ist für ca. 7 Stunden dauert. Ich konnte den Optimierungslevel auf None [-O0] setzen, aber jetzt funktioniert das nicht.

+1

Es wiederholt ist 1200-mal so in Sie Kopie kleistert, dass der Block 1200 mal? Warum benutzt du keine Schleife? – dan

+0

Jeder Block enthält eindeutige Einstellungen. – user3449878

+0

Sie sollten sie in Kerndaten oder einem Plist oder etwas speichern und zur Laufzeit laden. Ich schätze, der Compiler mag keine 20000 Zeilen langen Methoden. 7 Stunden scheinen jedoch ziemlich lang zu sein, du könntest versuchen, einen Fehlerbericht an llvm zu schicken – dan

Antwort

0

Wahrscheinlicher als nicht, es dauert so lange zu kompilieren, weil der Compiler eine Menge Speicher verwendet, um zu kompilieren, was ein pathologisch ungerades Bit des Codes ist.

Sie könnten einen Fehler einreichen, wenn Sie möchten.

Zu reparieren; Verwenden Sie eine Schleife und lesen Sie die Daten aus einer Datei. Selbst ein Plist würde funktionieren. Oder Sie können eine Coredata-Datenbank auf Ihrem Mac vorbelegen und mit Ihrer App versenden.

(ich hoffe wirklich, dass 1200 Kopien dieser Linien sind in der Maschine erzeugt !!!)

Verwandte Themen