คำถามติดแท็ก objective-c

แท็กนี้ควรใช้กับคำถามที่เกี่ยวกับคุณสมบัติ Objective-C หรือขึ้นอยู่กับรหัสในภาษา ควรใช้แท็ก [cocoa] และ [cocoa-touch] เพื่อสอบถามเกี่ยวกับกรอบหรือคลาสของ Apple ใช้แท็กที่เกี่ยวข้อง [ios], [macos], [apple-watch] และ [tvos] สำหรับปัญหาเฉพาะของแพลตฟอร์มเหล่านั้น

5
NSString: isEqual กับ isEqualToString
อะไรคือความแตกต่างระหว่างisEqual:และisEqualToString:? ทำไมเรียนเพิ่ม isEqualTo * วิธีการ (isEqualToArray สำหรับ NSArray, isEqualToData สำหรับ NSData, ... ) แทนเพียงเอาชนะisEqual:?

4
ความแตกต่างระหว่าง Xcode version (CFBundleShortVersionString) และ build (CFBundleVersion)
ใน Xcode 4 ฉันเห็นสิ่งนี้สำหรับสรุปเป้าหมายของฉัน: รุ่น "" การป้อนข้อมูลสอดคล้องกับCFBundleShortVersionStringในไฟล์ info.plist และ "รูปร่าง" CFBundleVersionสอดคล้องเข้ากับ อะไรคือความแตกต่างระหว่างสองสิ่งนี้? ฉันเห็นผู้คนจำนวนมากบนอินเทอร์เน็ตต้องการใส่คุณค่าเดียวกันให้กับทั้งสองอย่างและความสงสัยของฉันก็คือเพื่อความเข้ากันได้แบบย้อนกลับ ฉันมีคำถามสองข้อ: 1) ถ้าฉันเริ่มต้นใหม่แนวทางปฏิบัติที่ดีที่สุดสำหรับการกำหนดเวอร์ชันแอปของคุณคืออะไร 2) ในแอปรุ่นก่อนหน้าทั้งหมดของฉันฉันใช้เพียงCFBundleVersionไฟล์. เพื่อไม่ให้ขั้นตอนการอัปเกรดเกิดความสับสนฉันควรเพิ่มCFBundleVersionวิธีเดิมต่อไปหรือไม่หรือสามารถเปลี่ยนไปใช้ "วิธีที่ถูกต้อง" ได้โดยสมมติว่ามีอยู่

16
iOS 7 - ไม่สามารถสร้างอินสแตนซ์ตัวควบคุมมุมมองเริ่มต้นได้
ฉันใช้ Xcode 5 ในแอพที่สร้างขึ้นใหม่และเมื่อฉันเพิ่งสร้างมันฉันไปที่ปุ่มวิ่งและคลิกที่มันจากนั้นโปรเจ็กต์จะถูกสร้างขึ้น แต่ไม่แสดงใน iOS Simulator และฉันได้รับข้อความต่อไปนี้: Failed to instantiate the default view controller for UIMainStoryboardFile 'Main' - perhaps the designated entry point is not set? แน่นอนว่าฉันเคย Googled มาแล้วและทุกคนก็ชี้ให้เห็นว่าสิ่งนี้เกิดขึ้นเนื่องจาก XCode ยังไม่รู้ว่าตัวควบคุมมุมมองใดเป็นตัวเริ่มต้น แต่สิ่งที่แปลกคือฉันสร้างแอพเป็นแบบเพจ (ลองใช้แอพแบบมุมมองเดียวและแบบแท็บด้วย) และ XCode ได้กำหนด Storyboard ไว้แล้ว นอกจากนี้เมื่อฉันไปที่ตัวเลือกอินเทอร์เฟซหลักของโปรเจ็กต์จะมีการตั้งค่าสตอรีบอร์ด (ชื่อ "หลัก" โดย Xcode เอง) และใน Storyboard ตัวควบคุมมุมมองของฉันถูกตั้งค่าเป็น "ตัวควบคุมมุมมองเริ่มต้น" เกิดอะไรขึ้น?

8
ใช้ Predicate ใน Swift
ฉันกำลังทำงานผ่านบทช่วยสอนที่นี่ (เรียนรู้ Swift) สำหรับแอปแรกของฉัน: http://www.appcoda.com/search-bar-tutorial-ios7/ ฉันติดอยู่ในส่วนนี้ (รหัส Objective-C): - (void)filterContentForSearchText:(NSString*)searchText scope:(NSString*)scope { NSPredicate *resultPredicate = [NSPredicate predicateWithFormat:@"name contains[c] %@", searchText]; searchResults = [recipes filteredArrayUsingPredicate:resultPredicate]; } มีใครแนะนำวิธีสร้าง NSPredicate ใน Swift ได้บ้าง

7
คุณสมบัติอ่านอย่างเดียวใน Objective-C?
ฉันได้ประกาศคุณสมบัติแบบอ่านอย่างเดียวในอินเทอร์เฟซของฉันดังนี้: @property (readonly, nonatomic, copy) NSString* eventDomain; บางทีฉันอาจจะเข้าใจคุณสมบัติผิด แต่ฉันคิดว่าเมื่อคุณประกาศเป็นreadonlyคุณสามารถใช้ตัวตั้งค่าที่สร้างขึ้นภายใน.mไฟล์การนำไปใช้งาน ( ) แต่เอนทิตีภายนอกไม่สามารถเปลี่ยนค่าได้ คำถาม SO นี้บอกว่านั่นคือสิ่งที่ควรเกิดขึ้น นั่นคือพฤติกรรมที่ฉันตามมา อย่างไรก็ตามเมื่อพยายามใช้ standard setter หรือ dot syntax เพื่อตั้งค่าeventDomainภายในเมธอด init ของฉันมันทำให้ฉันมีunrecognized selector sent to instance.ข้อผิดพลาด แน่นอนฉันกำลัง@synthesizeมีทรัพย์สิน พยายามใช้มันดังนี้: // inside one of my init methods [self setEventDomain:@"someString"]; // unrecognized selector sent to instance error ฉันเข้าใจผิดเกี่ยวกับการreadonlyประกาศเกี่ยวกับทรัพย์สินหรือไม่? หรือมีอย่างอื่นเกิดขึ้น?


7
การจับภาพบนมุมมองย่อยนอกกรอบของซูเปอร์วิวโดยใช้ hitTest: withEvent:
ปัญหาของฉัน:ฉันได้ SuperView EditViewที่เกิดขึ้นโดยทั่วไปกรอบโปรแกรมทั้งหมดและ subview MenuViewซึ่งใช้เวลาเพียงด้านล่าง ~ 20% แล้วMenuViewมี subview ของตัวเองButtonViewซึ่งอันที่จริงอาศัยอยู่นอกMenuView's ขอบเขต (บางอย่างเช่นนี้ButtonView.frame.origin.y = -100) (หมายเหตุ: EditViewมีMenuViewมุมมองย่อยอื่น ๆ ที่ไม่ได้เป็นส่วนหนึ่งของลำดับชั้นการดู แต่อาจส่งผลต่อคำตอบ) คุณอาจทราบปัญหาแล้ว: เมื่อButtonViewใดที่อยู่ในขอบเขตของMenuView(หรือโดยเฉพาะอย่างยิ่งเมื่อการสัมผัสของฉันอยู่ในMenuViewขอบเขต) ButtonViewตอบสนองต่อเหตุการณ์การสัมผัส เมื่อสัมผัสของฉันอยู่นอกMenuViewขอบเขตของ (แต่ยังอยู่ในButtonViewขอบเขตของ) จะไม่ได้รับเหตุการณ์สัมผัสใดButtonViewๆ ตัวอย่าง: (E) คือพาเรนEditViewต์ของมุมมองทั้งหมด (M) คือMenuViewมุมมองย่อยของ EditView (B) คือButtonViewมุมมองย่อยของ MenuView แผนภาพ: +------------------------------+ |E | | | | | | | | | |+-----+ | ||B | …

5
จะใช้ Git อย่างถูกต้องกับ Xcode ได้อย่างไร?
ฉันเป็นนักพัฒนา iPhone มาระยะหนึ่งแล้วและเมื่อเร็ว ๆ นี้ฉันได้รวมคอมไพล์ไว้ในเวิร์กโฟลว์ของฉัน ฉันใช้การตั้งค่าคอมไพล์ที่พบในhttp://shanesbrain.net/2008/7/9/using-xcode-with-gitสำหรับเวิร์กโฟลว์ของฉันจนถึงตอนนี้ การตั้งค่าเหล่านี้บอกให้ git ยกเว้น * .pbxproj จากการผสาน? มีเหตุผลที่แท้จริงในการทำเช่นนี้หรือไม่? ตัวอย่างเช่นเมื่อฉันเพิ่มไฟล์ลงในโปรเจ็กต์และพุชไปยังจุดเริ่มต้นนักพัฒนาคนอื่น ๆ ของฉันจะไม่มีไฟล์นั้นเพิ่มในโปรเจ็กต์ xcode ของพวกเขาเมื่อพวกเขาดึง จากนั้นหากหนึ่งในนั้นสร้างรุ่นไฟล์นี้อาจไม่รวมอยู่ด้วย ฉันควรปล่อยให้คอมไพล์จัดการการผสานสำหรับไฟล์โปรเจ็กต์ไม่ใช่หรือ เหตุใดจึงไม่ควรผสานไฟล์นี้และวิธีจัดการกับสถานการณ์อย่างเหมาะสมเมื่อมีการเพิ่มไฟล์ลงในโครงการ
94 ios  objective-c  xcode  git 

24
การวางตำแหน่ง MKMapView เพื่อแสดงคำอธิบายประกอบหลายรายการพร้อมกัน
ฉันมีคำอธิบายประกอบหลายรายการที่ต้องการเพิ่มลงใน MKMapView ของฉัน (สามารถเป็น 0-n รายการโดยที่ n โดยทั่วไปจะอยู่ที่ประมาณ 5) ฉันสามารถเพิ่มคำอธิบายประกอบได้ แต่ฉันต้องการปรับขนาดแผนที่ให้พอดีกับคำอธิบายประกอบทั้งหมดบนหน้าจอพร้อมกันและฉันไม่แน่ใจว่าจะทำอย่างไร ฉันกำลังดูอยู่-regionThatFits:แต่ไม่ค่อยแน่ใจว่าจะทำอย่างไรกับมัน ฉันจะโพสต์รหัสเพื่อแสดงสิ่งที่ฉันมีจนถึงตอนนี้ ฉันคิดว่านี่น่าจะเป็นงานที่ตรงไปตรงมา แต่ตอนนี้ฉันรู้สึกหนักใจกับ MapKit เล็กน้อย - (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation{ location = newLocation.coordinate; //One location is obtained.. just zoom to that location MKCoordinateRegion region; region.center = location; //Set Zoom level using Span MKCoordinateSpan span; span.latitudeDelta = …

27
UITextfield leftView / rightView padding บน iOS7
มุมมอง leftView และ rightView ของ UITextField บน iOS7 นั้นอยู่ใกล้กับเส้นขอบของฟิลด์ข้อความ ฉันจะเพิ่มช่องว่าง (แนวนอน) ให้กับรายการเหล่านั้นได้อย่างไร ฉันพยายามปรับเปลี่ยนเฟรม แต่ไม่ได้ผล uint padding = 10;//padding for iOS7 UIImageView * iconImageView = [[UIImageView alloc] initWithImage:iconImage]; iconImageView.frame = CGRectMake(0 + padding, 0, 16, 16); textField.leftView = iconImageView; โปรดทราบว่าฉันไม่สนใจที่จะเพิ่มช่องว่างในข้อความของช่องข้อความเช่นชุดช่องว่างภายในสำหรับ UITextField กับ UITextBorderStyleNone


3
การเปรียบเทียบสตริงใน Objective-C
ขณะนี้ฉันได้ตั้งค่าเว็บเซิร์ฟเวอร์ซึ่งฉันสื่อสารผ่าน SOAP กับแอป iPhone ของฉัน ฉันส่งคืนสตริงที่มี GUID และเมื่อฉันพยายามเปรียบเทียบสิ่งนี้กับสตริงอื่นฉันได้ผลลัพธ์แปลก ๆ ทำไมสิ่งนี้จะไม่ยิง? ทั้งสองสายตรงกันหรือไม่? NSString *myString = @"hello world"; if(myString == @"hello world") return;

18
การค้นหาว่าสตริงเป็นตัวเลขหรือไม่
เราจะตรวจสอบได้อย่างไรว่าสตริงประกอบด้วยตัวเลขเท่านั้น ฉันกำลังดึงสตริงย่อยออกจากสตริงและต้องการตรวจสอบว่าเป็นสตริงย่อยที่เป็นตัวเลขหรือไม่ NSString *newString = [myString substringWithRange:NSMakeRange(2,3)];


8
URLWithString: คืนค่า nil
มันอาจจะง่ายมาก แต่ฉันดูเหมือนจะไม่พบว่าทำไมจึงURLWithString:กลับมาที่นี่ //localisationName is a arbitrary string here NSString* webName = [localisationName stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; NSString* stringURL = [NSString stringWithFormat:@"http://maps.google.com/maps/geo?q=%@,Montréal,Communauté-Urbaine-de-Montréal,Québec,Canadae&output=csv&oe=utf8&sensor=false&key=", webName]; NSURL* url = [NSURL URLWithString:stringURL];

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.