เทมเพลต FetchRequest ไม่ทำงานกับ var แบบไดนามิก

ฉันมีปัญหาแปลกๆ กับเทมเพลต FetchRequest

เมื่อฉันฮาร์ดโค้ดตัวแปรอย่างชัดเจน ฉันต้องการแทนที่:

NSFetchRequest *fetchRequest = [[[Helper appDelegate] managedObjectModel]
                                fetchRequestFromTemplateWithName:@"srStoryForLesson"
                                substitutionVariables:[NSDictionary dictionaryWithObject:[NSNumber numberWithInt:2] forKey:@"number"]];

ทุกสิ่งทำงานได้ดี

แต่เมื่อฉันพยายามตั้งค่า var เป็นจำนวนเต็ม (เนื่องจากฉันต้องการให้เป็นไดนามิก) ฉันจะไม่ได้รับผลลัพธ์จากการดึงข้อมูล

NSInteger number = 2;

NSFetchRequest *fetchRequest = [[[Helper appDelegate] managedObjectModel]
                                fetchRequestFromTemplateWithName:@"srStoryForLesson"
                                substitutionVariables:[NSDictionary dictionaryWithObject:[NSNumber numberWithInt:number] forKey:@"number"]];

ฉันไม่สามารถเข้าใจสิ่งที่ผิดปกติ?

ขอบคุณชานี


person shannoga    schedule 26.10.2011    source แหล่งที่มา


คำตอบ (1)


รหัสที่คุณแสดงควรทำงานได้ดี ข้อผิดพลาดของคุณอยู่ที่อื่น

ฉันไม่อยากแนะนำให้ใช้ชื่อตัวแปรเช่น "number" เพราะธรรมชาติทั่วไปของพวกมันเสี่ยงต่อการตั้งชื่อที่ขัดแย้งกันในพื้นที่ชื่อสากลของ Objective-C ชื่อที่ไม่ซ้ำใครและสื่อความหมายมากขึ้นจะปลอดภัยกว่าและอ่านง่ายกว่าหลายเดือนข้างหน้าเมื่อคุณกลับมาที่โค้ดอีกครั้ง

person TechZen    schedule 26.10.2011