การใช้ Objective-C Code ใน Swift

ใช่. คุณสามารถ.

ภาพถ่ายโดย Nikhil Mitra บน Unsplash

Objective-C มี codebase แบบดั้งเดิมจำนวนมากซึ่งหมายความว่าภาษาจะมีความแพร่หลายสำหรับ (อย่างน้อย) ในขณะที่ยังดี นั่นอาจหมายความว่าคุณต้องรวมโค้ด Objective-C เข้ากับโปรเจ็กต์ Swift ของคุณและบทความนี้ถูกสร้างขึ้นเพื่อช่วยคุณทำสิ่งนั้น

ความยาก: มือใหม่ | ง่าย | ปกติ | การท้าทาย

ข้อกำหนดเบื้องต้น:

  • สามารถสร้างแอปพลิเคชั่นมุมมองเดี่ยวขั้นพื้นฐานของ iOS ได้ (แนะนำที่นี่ )

การเชื่อมต่อ: การใช้ไฟล์ส่วนหัวเพื่อเปิดใช้งานโค้ด Objective-C เพื่อใช้ใน Swift codebase

Objective-C: ภาษาเชิงวัตถุ

การสาธิตในโครงการง่ายๆ

สร้างโปรเจ็กต์มุมมองเดียวโดยให้ปุ่มอยู่ตรงกลาง

คำแนะนำนี้จะถือว่าผู้อ่านสามารถสร้างโปรเจ็กต์อย่างง่ายและแทนที่จะสร้างป้ายกำกับตรงกลางมุมมองให้ใส่ปุ่มที่นั่นและเพิ่มการดำเนินการลงในตัวควบคุมมุมมองของคุณ

อย่างไรก็ตามหากต้องการดูภาพในสีอื่น ๆ นอกเหนือจากสีน้ำเงินประเภทของปุ่มจะต้องเปลี่ยนเป็นแบบกำหนดเองและสีข้อความเป็นสิ่งที่มองเห็นได้ มีการตั้งค่าเต้าเสียบในกรณีนี้ฉันเรียกว่าเต้าเสียบmyButton (ทั้งหมดแสดงในภาพเคลื่อนไหว GIF ด้านล่าง):

เพิ่มรูปภาพง่ายๆให้กับโครงการ

เราสามารถเพิ่มทรัพยากรได้โดยการลากและวางรายการต่างๆลงในโครงการ คุณควรลาก + วางภาพ JPEG ลงในโปรเจ็กต์เพื่อใช้เป็นพื้นหลังของปุ่ม

เพิ่ม TapGesture

ใช่: มีวิธีอื่นในการทำให้ปุ่มมีการดำเนินการ แต่ในกรณีนี้เราจะใช้UITapGestureRecognizerที่ช่วยให้เราตรวจจับการใช้ปุ่ม:

let tapGesture = UITapGestureRecognizer(target: self, action: #selector(buttonTapped))
myButton.addGestureRecognizer(tapGesture)

@objc func buttonTapped() {
  MyObjcClass().printit("Print ME")
}

เพิ่มคลาส Objective-C

เราสามารถเพิ่มคลาส Cocoa Touch และระบุว่าเราต้องการให้ภาษาเป็น Objective-C

กระบวนการนี้จะแสดงใน GIF แบบเคลื่อนไหวดังต่อไปนี้โดยอย่าลืมเพิ่มส่วนหัวเชื่อมต่อ:

เพิ่มคลาสในส่วนหัวของการเชื่อมต่อ

เราจำเป็นต้องเพิ่มชั้นเรียนของเราobjcswift-Bridging-Header.hและเพิ่มบรรทัดต่อไปนี้:

#import “MyObjcClass.h”

ไม่ยุ่งยาก!

การเพิ่มคลาสในรหัส Objective-C

จากนั้นเราต้องเพิ่มลายเซ็นต่อไปนี้ในอินเทอร์เฟซ (MyObjcClass.h):

- (void) printit:(NSString *)message;

- (void) printit:(NSString *)message {
NSLog(@"%@", message);
}

ผลลัพธ์

เมื่อเราเรียกใช้แอพพลิเคชั่นเมื่อเราคลิกปุ่ม - มันจะพิมพ์ลงคอนโซล !!! ว๊อท!

สรุป:

Objective-Cเป็นภาษาที่ยอดเยี่ยม คุณอาจไม่ได้เลือกที่จะสร้างโปรเจ็กต์ของคุณในภาษานั้น แต่อาจต้องเชื่อมโยงกับ Swift เพื่อที่จะไม่เขียนโค้ดนั้น (ทดสอบ) ใหม่ทั้งหมด ทำให้รู้สึกว่าการเชื่อมระหว่างสองภาษาเป็นเรื่องง่ายและคำแนะนำนี้จะช่วยให้คุณสามารถทำสิ่งนั้นได้

เพิ่มพูนความรู้ของคุณ

  • Apple มีคำแนะนำเกี่ยวกับการนำเข้า Objective-C ไปยัง Swift ที่นี่

มีคำถามอะไรไหม? คุณสามารถติดต่อฉันได้ที่นี่

Suggested posts

การค้นหาข้อมูลเกี่ยวกับชื่อโดเมน

ตัดตอนมาจาก Small, Sharp Software Tools โดย Brian P. Hogan

การค้นหาข้อมูลเกี่ยวกับชื่อโดเมน

เมื่อคุณส่งคำขอไปที่ facebook.com คอมพิวเตอร์ของคุณจะค้นหาชื่อโดเมนเพื่อแปลชื่อโดเมนนั้นเป็นที่อยู่ IP เพื่อให้คอมพิวเตอร์ของคุณสามารถเชื่อมต่อได้

D-word และ L-word ในการออกแบบ UI เรื่องภาษา อย่าเหยียดเชื้อชาติ

D-word และ L-word ในการออกแบบ UI เรื่องภาษา อย่าเหยียดเชื้อชาติ

ภาษาของเราเป็นเครื่องมืออันทรงพลังที่สามารถกำหนดความคิด ทัศนคติ และการกระทำของเรา แม้แต่คำที่ดูเหมือนไม่เป็นอันตรายก็สามารถขยายเวลาอคติและแบบแผนที่เป็นอันตรายได้

Related posts

สองปีในการออกแบบ - ดี ไม่ดี และน่าเกลียด...

สองปีในการออกแบบ - ดี ไม่ดี และน่าเกลียด...

“หวัดดี Siri เล่น Me Dive โดย Olivia Dean” ในเดือนพฤษภาคม 2021 ฉันเริ่มฝึกงานที่ Future Academy Africa ในเมือง Akure ประเทศไนจีเรีย

การพังทลายอย่างช้าๆ: เปิดเผยวิธีที่ผู้คนสูญเสียไปในอาชีพของพวกเขา

การพังทลายอย่างช้าๆ: เปิดเผยวิธีที่ผู้คนสูญเสียไปในอาชีพของพวกเขา

ในโลกที่เปลี่ยนแปลงอย่างรวดเร็วและการแข่งขันในปัจจุบัน อาชีพของคนๆ หนึ่งมีบทบาทสำคัญในการเติบโตส่วนบุคคล ความมั่นคงทางการเงิน และความพึงพอใจในชีวิตโดยรวม อย่างไรก็ตาม ผู้คนจำนวนมากพบว่าตัวเองติดอยู่ในวงจรของความเมื่อยล้าและความไม่พอใจอย่างไม่หยุดยั้ง ค่อยๆ สูญเสียชีวิตการทำงานไป

คาวบอยโกหก

บรรษัทขนาดใหญ่ขายคนอเมริกันด้วยความเท็จได้อย่างไร

คาวบอยโกหก

เช้าวันนี้เป็นสีทองอร่ามบนเนินเขาทางทิศตะวันตก เมื่อแสงแรกของแสงแดดส่องให้เห็นหญ้าที่ปกคลุมด้วยน้ำค้างแข็งบนที่ราบ ฝูงวัวแองกัสที่สงบนิ่ง ตัวสีดำสนิทและตัวมหึมา มีเงาสะท้อนยามพระอาทิตย์ขึ้นขณะที่พวกมันเดินไปตามทางที่ไม่ค่อยมีใครรู้จักไปยังสถานที่ที่พวกเขารู้จักดี บาร์อาหารเช้า

การค้นหาข้อมูลเกี่ยวกับชื่อโดเมน

ตัดตอนมาจาก Small, Sharp Software Tools โดย Brian P. Hogan

การค้นหาข้อมูลเกี่ยวกับชื่อโดเมน

เมื่อคุณส่งคำขอไปที่ facebook.com คอมพิวเตอร์ของคุณจะค้นหาชื่อโดเมนเพื่อแปลชื่อโดเมนนั้นเป็นที่อยู่ IP เพื่อให้คอมพิวเตอร์ของคุณสามารถเชื่อมต่อได้