Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Objective-CからSwift移行を始めて感じた事/ObjC-to-Swift
Search
Taketo Yoshida
January 17, 2017
Programming
1.5k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Objective-CからSwift移行を始めて感じた事/ObjC-to-Swift
https://supporterz-seminar.connpass.com/event/47574/
で発表した資料
Taketo Yoshida
January 17, 2017
More Decks by Taketo Yoshida
See All by Taketo Yoshida
Beautiful Japanese line break for the Web
tamanyan
1
590
新しい画像フォーマットHEIFを 用いたiOSアプリの通信量削減/iosdc-heif
tamanyan
9
6.8k
Source Code Generator for Team Development/code-generator-for-team-development
tamanyan
0
1.8k
How to Design Great Alerts/how-to-design-great-alerts
tamanyan
0
670
iOSエンジニアがReact-Nativeに触れてみた/ios-developer-react-native
tamanyan
0
510
フォーシームのスピン量とその効果/the-effect-of-fourseam-fastball-spin-rate
tamanyan
1
950
Modern and Practical Networking in Swift
tamanyan
2
840
まだJPEGで消耗してるの?/iOSDC-Reject-Conference
tamanyan
0
3.1k
SwiftでWebPを使ってみた/melon-swift-webp
tamanyan
1
1.6k
Other Decks in Programming
See All in Programming
AI駆動開発にグラフDBを重ねてみた
satoshi256kbyte
2
770
数年滞っていたダークモード対応をおよそ2週間で完了させる
chigichan24
0
700
Deep dive into the select statement (GopherCon UK)
jespino
0
170
{ Android | Kotlin } Gradle Plugin in 2026
ryunen344
1
300
Kiroで創り、AgentCoreで繋ぐ!AWSで実践する「AI-DLC」から「AIエージェント統合」までの最新地図
licux
3
400
変化を抱擁するドキュメントの作り方 - ビジネスルール駆動開発がもたらす、コードとの新しい関係
ioki
2
130
AIエージェント時代のコードレビューを設計する
nogu66
6
2.6k
XP祭りでしか伝わらないフリップネタ #xpjug
murabayashi
0
120
MIZARU@SPAJAM2026 第二回予選
1901drama
0
110
LoopHub - ローカルで動く GitHub で、AI と共同開発
jugyo
1
490
Security issues being discussed on Web Platforms
petamoriken
0
460
まだ間に合う!今年の夏こそSchemeのマクロ展開器を完全理解!
omasanori
0
640
Featured
See All Featured
Designing Experiences People Love
moore
143
24k
[SF Ruby Conf 2025] Rails X
palkan
2
1.4k
Rails Girls Zürich Keynote
gr2m
96
14k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Code Review Best Practice
trishagee
74
20k
Testing 201, or: Great Expectations
jmmastey
46
8.3k
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
990
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6.1k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
880
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
320
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.8k
Transcript
1 0CKFDUJWF$ַ4XJGU獳遤㨣ג 䠬ׄ✲ 5BLFUP:PTIJEB傈劤穗幥倜耀爡 ؟ه٦ة٦ؤ⹈䓼⠓ _չ傈穗ꨵ㶨晛،فٔպךٖؖء٦؝٦س何㊣ׅ_
2 荈䊹稱➜ し歊⨳➂ :PTIJEB5BLFUP (JUIVCUBNBOZBO 傈劤穗幥倜耀爡ךJ04ؒٝآص، 莆ꅿ椔ծ⨳䏿ծ匌⽂،آ، 䞔㜠䊨㷕禸ך㣐㷕ꤍ⼼噟䖓䎃ח傈穗חⰅ爡
3 傈穗הכ 倜耀 ꧟钞 佝鷏 ر٦ة ؎ٝرحؙأ
4 傈劤穗幥倜耀הכ 傈穗ךً؎ٝفٗتؙز 䎃僇屚䎃ⶼⴚ 劉ⴚכ♰鿇涪遤
5 傈穗ꨵ㶨晛הכ 䎃剢ⶼⴚ 剢،ؙإأ⭙⟝ 嫣傈秈劤ך鎸✲ꂁ⥋ 1$٥ٌغ؎ٕ؟؎زծJ04٥"OESPJE،فٔ 剣俱⠓㆞ ⰼ剢 秈♰➂
搀俱⠓㆞秈♰➂ ꬊ涫ꐮ秈♰6#
6 傈穗ꨵ㶨晛ךⰻ醡涪חאְג 䎃剢ַⰻ醡涪فٗآؙؑزָ㨣⹛ 爡ⰻךث٦ي⡤ⵖך㢌刿 خ٦ٕ㼪Ⰵ4MBDL (JUIVC 2JJUB5FBNזו 倜⼼٥⚥鷿䱰欽ך何㊣
7 劤傈ךכגעךذؙظٗآ٦ؒٝزٔ٦
8 傈穗ꨵ㶨晛،فٔ 䎃剢ٔٔ٦أ 傈穗ⴱךⰻ醡涪ךJ04،فٔ 涪鎉铂כ0CKFDUJWF$
9 秵ؽُ٦،٦،فٔ 䎃剢ٔٔ٦أ 涪鎉铂כ4XJGU 猘ָ倜Ⰵ爡㆞ך儗ח涪׃،فٔ
10 植㖈ךJ04ث٦ي⡤ⵖ J04ؒٝآص، فٗآؙؑزوط٦آٍ٦ 㢩鿇ךJ04ؒٝآص،
11 כׄח
12 4XJGU涫㜥ַ♲䎃 ؔ٦فٝا٦أ⻉֮גծ鑧겗כ0CKFDUJWF$ַ4XJGUח 涪⸬桦ծ؟ه٦زծ㘗㸜Ⰻזו圫ղזד⮚⡘䚍؝ٝػ؎ٕ鹼ְֽו˘ 倜鋉فٗآؙؑزד֮לծקר䱰欽ׁךכ4XJGUה䙼ֲ
13 (PPHMF5SFOETַ0CKFDUJWF$ה4XJGU
14 *OEFFEך実➂ַ0CKFDUJWF$ה4XJGU 0CKFDUJWF$ ⟝ 4XJGU ⟝
15 植㜥דכ0CKFDUJWF$ָ⢪גְ
16 ז0CKFDUJWF$כזֻזזְךַ 4XJGUךفٗآؙؑزח0CK$ךٓ؎ـָٓٔת⢪גְ 瀉劍涸ؽآطأ涸錁挿ַ،فٔ4XJGUדأؙٓحث涪ׅךח鬣鬝׃גְ 4XJGUכײה0CK$ֿ荚넝
17 ؿٕ4XJGUח׃ְֽוծ➬✲דכי˘
18 傈穗ꨵ㶨晛،فٔך♧א 88%$ד4XJGUָ涪邌ׁקרず儗劍ח涪أة٦ز 䔲儗כ㸜㹀䚍罋䣁ծ0CKFDUJWF$鼅䫛
19 傈穗ꨵ㶨晛،فٔ涪ך䬐䔲חז 䎃ך猧갦ַ傈穗ꨵ㶨晛،فٔ䬐䔲ׅ״ֲחז ،فٔכׅדח䧭擾׃גְגծ 遤קוךفٗتؙزחזגְ
20 4XJGU獳遤䲿周 0CKFDUJWF$剅ֻ✲ָ鳞ְהְֲךָ֮˘ 4XJGU⢪ֲ✲ךًٔحزָ㣐ְֹ 4XJGUה0CKFDUJWF$Ⱏ㶷ׇׁג剅ֻךכזח㣐㢌דכזְה耀ְ
21 ֻׁה獳遤כַׄ
22 הְֲ鏬חכְֹתׇד׃˘
23 4XJGU獳遤ד䠬ׄ挿װ5JQTזו 涪邌׃תׅ
24 4XJGU獳遤ך倯ꆙ
25 4XJGU獳遤ך倯ꆙ 4XJGU̞0CKFDUJWF$ػة٦ٝ 4XJGU0CKFDUJWF$ⴽ㽿ػة٦ٝ 4XJGUأؙٓحث涪ػة٦ٝ
26 4XJGU̞0CKFDUJWF$ػة٦ٝ
27 4XJGU̞0CKFDUJWF$ػة٦ٝ 0CKFDUJWF$ד剅ְ؝٦س4XJGUַㄎן⳿ׇ״ֲׅ 湱✼✼䳔䚍㸚ג剅ֻ 4XJGUד剅ְ؝٦س0CKFDUJWF$ַㄎן⳿ׇ״ֲׅ
28 湱✼✼䳔䚍䠐陎׃剅ֹ倯 TUSVDU⢪欽ׇ׆ծDMBTTך⾱ה׃ג⢪欽 FOVNծHFOFSJDTזוכ⾱ה׃ג⢪欽׃זְ 0CK$ךًاحسךㄏせ鋉㸚 0CK$ך؎ٝة٦ؿؑ٦أח،ظذ٦ءّٝאֽ #PYػة٦ٝװ5ZQF&BTVSF⢪ֲ
29 TUSVDU⢪欽ׇ׆ծDMBTTך⢪欽 湱✼✼䳔䚍䠐陎׃剅ֹ倯 @objc class User: NSObject { let name:
String var email: String? = nil init(name: String) { super.init() self.name = name } } /40CKFDU竰䪫ׅ䗳銲ָ֮
30 0CK$ך؎ٝة٦ؿؑ٦أח،ظذ٦ءّٝאֽ 湱✼✼䳔䚍䠐陎׃剅ֹ倯 @interface User : NSObject @property (nonnull, nonatomic,
readonly, copy) NSString *name; @property (nullable, nonatomic, copy) NSString *email; - (nonnull instancetype)initWithName:(nonnull NSString *)name; - (nonnull instancetype)init; @end let user = User(name: "hogehoge") user.email = "
[email protected]
" print("\(user.name) \(user.email ?? "no email")") // hogehoge
[email protected]
31 0CK$ךًاحسךㄏせ鋉㸚 湱✼✼䳔䚍䠐陎׃剅ֹ倯 - (void)authenticateWithPassword:(nonnull NSString *)password; func authenticate(password: String)
农럀涸חًاحسせָ㢌刿ׁ #FUUFS5SBOTMBUJPOPG0CKFDUJWF$"1*T*OUP4XJGU IUUQTHJUIVCDPNBQQMFTXJGUFWPMVUJPOCMPCNBTUFSQSPQPTBMTPCKFDUJWFDOBNFUSBOTMBUJPONE
32 #PYػة٦ٝ 湱✼✼䳔䚍䠐陎׃剅ֹ倯 0CK$⩎ؙٓأחFYUFOTJPOדTUSVDUװFOVNךًٝس㢌侧➰♷׃ְ 㘗#PYהְֲDMBTTדٓحفׅ✲ד0CK$⩎ַכDMBTT׃ַ鋅ִזְ
33 #PYػة٦ٝ 湱✼✼䳔䚍䠐陎׃剅ֹ倯 @interface LegacyViewController : UIViewController @property (readwrite, strong)
id /* Box<User> */ _user; @end extension LegacyViewController { var user: User { get { return (self._user as! Box<User>).value } set { self._user = Box<User>(newValue) } } } struct User {}
34 5ZQF&BTVSF 湱✼✼䳔䚍䠐陎׃剅ֹ倯 0CK$ַכ4XJGUך(FOFSJDT⢪㘗⢪欽ֿׅהָדֹזְ (FOFSJDTך㘗嶊ׅ✲ד0CK$⩎ה✼䳔䚍⥂אֿהָדֹ 0CK$פךـٔحآ⡲䧭ׅךח⢪ִ
35 5ZQF&BTVSF 湱✼✼䳔䚍䠐陎׃剅ֹ倯 struct Section<Item> { let items: [Item] }
class UserCollectionViewController: UIViewController { typealias Item = User var section: Section<Item> init(section: Section<Item>) { self.section = section super.init(nibName: nil, bundle: nil) } } 0CK$⩎ַכTFDUJPOח،ؙإأדֹזְ
36 5ZQF&BTVSF 湱✼✼䳔䚍䠐陎׃剅ֹ倯 extension Section where Item: Any { var
anySection: AnySection { return AnySection(self) } } @objc class AnySection: NSObject { var items: [Any] init<Item: Any>(_ section: Section<Item>) { self.items = section.items } } "OZ4FDUJPOהְֲDMBTT欰䧭ׅ
37 5ZQF&BTVSF 湱✼✼䳔䚍䠐陎׃剅ֹ倯 class UserCollectionViewController: UIViewController { typealias Item =
User var section: Section<Item> @objc var _section: AnySection { return self.section.anySection } init(section: Section<Item>) { self.section = section super.init(nibName: nil, bundle: nil) } } 0CK$⩎ַכWD@TFDUJPOד،ؙإأדֹ
38 NYDM1SPNJTF,JUד⢪欽ׁגְ
39 4XJGU̞0CKFDUJWF$ػة٦ٝ ًٔحز ずׄ堣腉✳ꅾ涪׃זֻג幥 鏣鎘ח㣐ֹז䕦갟♷ִזְ
40 4XJGU̞0CKFDUJWF$ػة٦ٝ ًٔحز 4XJGU堣腉ؿٕח⢪欽ֿׅהָꨇ׃ְ رًٔحز ✼䳔䚍ך⥂剅ֹ倯嫣㔐ׅ✲ָ鳞ְ 9DPEFך酡㸣堣腉ח蕱׃湱✼撑ָ鳞ְ ⣛㶷ꟼ⤘罋ִזְהؽٕس儗ח蕱׃
41 9DPEFך酡㸣堣腉ח蕱׃湱✼撑ָ鳞ְ 4XJGUד剅ְ؝٦س0CK$⩎ד⢪ֲ儗鷞搫ח酡㸣堣腉ד蕱׃ 4XJGU̞0CKFDUJWF$ػة٦ٝךرًٔحز SWIFT_CLASS("_TtC11ProductName4User") @interface User : NSObject @property
(nonatomic, readonly, copy) NSString * _Nonnull name; @property (nonatomic, copy) NSString * _Nullable email; - (nonnull instancetype)initWithName:(NSString * _Nonnull)name OBJC_DESIGNATED_INIT… - (void)authenticateWithPassword:(NSString * _Nonnull)password; - (nonnull instancetype)init SWIFT_UNAVAILABLE; @end ProductName-Swift.h ؎ٝة٦ؿؑ٦أָ刿倜ׁזְה酡㸣ָ⸬ַזְ
42 9DPEFך酡㸣堣腉ח蕱׃湱✼撑ָ鳞ְ ♧䏝1SPEVDU/BNF4XJGUIؽٕس⡲䧭׃זְה酡㸣ָ⸬ַזְ 4XJGU̞0CKFDUJWF$ػة٦ٝךرًٔحز ProductName-Swift.h
43 ⣛㶷ꟼ⤘罋ִזְהؽٕس儗ח蕱׃ 4XJGU̞0CKFDUJWF$ػة٦ٝךرًٔحز C Class 0CKFDUJWF$ 4XJGU D Class A
Class B Class
44 ⣛㶷ꟼ⤘罋ִזְהؽٕس儗ח蕱׃ 4XJGU̞0CKFDUJWF$ػة٦ٝךرًٔحز C Class 0CKFDUJWF$ 4XJGU D Class A
Class B Class 㢌刿֮
45 ⣛㶷ꟼ⤘罋ִזְהؽٕس儗ח蕱׃ 4XJGU̞0CKFDUJWF$ػة٦ٝךرًٔحز C Class 0CKFDUJWF$ 4XJGU D Class A
Class B Class 㢌刿֮ 㢌刿֮ ⱄؽٕس 兛鸐זֲֿזכ׆
46 ⣛㶷ꟼ⤘罋ִזְהؽٕس儗ח蕱׃ 4XJGU̞0CKFDUJWF$ػة٦ٝךرًٔحز C Class 0CKFDUJWF$ 4XJGU D Class A
Class B Class 㢌刿֮ 㢌刿֮ ⱄؽٕس 㢌刿֮ 㹋ꥷכ˘ ⱄؽٕس
47 ⣛㶷ꟼ⤘罋ִזְהؽٕس儗ח蕱׃ 4XJGU̞0CKFDUJWF$ػة٦ٝךرًٔحز QSJWBUFדזְ4XJGUךؙٓأכⰋג⽃♧ך؎ٝة٦ؿؑ٦أחⰕׁג׃תֲ 䊴ⴓؽٕسָⰋֻ⸬ַזֻזהְֲ䛊׃ְ✲䡾חז 4XJGUךؙٓأ剅ֹ䳔ִהծ⣛㶷ꟼ⤘חꟼ⤘זְؙٓأתד䕦갟「ֽ
48 ⣛㶷ꟼ⤘罋ִזְהؽٕس儗ח蕱׃ 4XJGU̞0CKFDUJWF$ػة٦ٝךرًٔحز C Class 0CKFDUJWF$ 4XJGU D Class A
Class B Class ProductName-Swift.h 劤䔲ך⣛㶷ꟼ⤘כֿך״ֲחזגְ
49 ⣛㶷ꟼ⤘罋ִזְהؽٕس儗ח蕱׃ 4XJGU̞0CKFDUJWF$ػة٦ٝךرًٔحز C Class 0CKFDUJWF$ 4XJGU A Class B
Class ProductName-Swift.h K Class F Class C Class K Class F Class C Class K Class C Class ׃ֻׁ֮˘
50 չ4XJGU̞0CKFDUJWF$ػة٦ٝպפך罋㻊 4XJGU⩎ךة٦حزⴓֽהְֲ䩛岀֮ 4XJGU̞0CKFDUJWF$䱰欽ׅך镘 4XJGUח剅ֹ湫ׅךכ⣛㶷眔㔲ך㼰זְ7JFXזוךؙٓأַ剑ⴱח《䱦ַ ׃鍑寸瘻֮侄ִגְֻׁ
51 4XJGU0CKFDUJWF$ⴽ㽿ػة٦ٝ
52 4XJGU0CKFDUJWF$ⴽ㽿ػة٦ٝ 湱✼✼䳔䚍ך֮涪כؗخ؎ 倜׃ְ堣腉٥歗4XJGUד剅ֹծ䗳銲ז堣腉כ0CK$ך项欵ⵃ欽ـٔحآ⡲䧭 4XJGU⩎䖚ղח㣐ֹֻ׃גծ剅ֹ湫׃גְֻ 4XJGU̒0CKFDUJWF$ך罋ִכ䰍ג
53 䖚ղח4XJGUBQQ⩎㣐ֹֻ׃גְֻ 0CK$BQQ 4XJGUBQQ
54 䖚ղח4XJGUBQQ⩎㣐ֹֻ׃גְֻ 0CK$BQQ 4XJGUBQQ
55 䖚ղח4XJGUBQQ⩎㣐ֹֻ׃גְֻ 0CK$BQQ 4XJGUBQQ
56 :BIPPءّحؾؚٝך✲⢽ IUUQTUFDICMPHZBIPPDPKQJPTTXJGUGSPNPCKD
57 :BIPPءّحؾؚٝך✲⢽ IUUQTUFDICMPHZBIPPDPKQJPTTXJGUGSPNPCKD
58 4XJGU0CKFDUJWF$ⴽ㽿ػة٦ٝ ًٔحز 4XJGUך堣腉ؿٕד⢪ִ ✼䳔䚍䬐⥂ח״撕׃ַׁ鍑佝ׁ 4XJGU⩎ך鏣鎘倜׃ֻ罋ִֿהָדֹٖؖء٦膴⽱
59 4XJGU0CKFDUJWF$ⴽ㽿ػة٦ٝ ًٔحز ♧鿇ծ✳ꅾ涪遤ֲ䗳銲֮皘䨽ָ⳿ג勻〳腉䚍ָ֮ رًٔحز 鏣鎘ָⰋֻ麩ֲ؝٦سָず♧فٗآؙؑزⰻח幉㖈 ♳䩛ח獳遤鏣鎘׃זְה䄶㠨ׅ
60 չ4XJGU0CKFDUJWF$ⴽ㽿ػة٦ٝպפך罋㻊 ׃ַ׃0CK$ך؝٦س剅ֹ湫ٌׅثك٦ءّٝ⥂גַ 穠㽷ծ倜׃ְ堣腉ֽ4XJGUד㹋鄲ׁגְהְֲ✲䡾חזָ ؽآطأ涸錁挿ַ鋅גغٓٝأך《倯岀 ֲתֻ獳遤鏣鎘׃זְהծ4XJGU̞0CKFDUJWF$ػة٦ٝדꤒرًٔحزחعو
61 4XJGUأؙٓحث涪ػة٦ٝ
62 4XJGUأؙٓحث涪ػة٦ٝ 〢ְ项欵כⰋג䰍ג 4XJGUד倜׃ְفٗتؙز⡲䧭ׅ 涪ָأزحفׅךכת׆ְךדծ〢ְ项欵ًٝذׅ
63 4XJGUأؙٓحث涪ػة٦ٝ 0CK$ 4XJGU
縧ֹ䳔ִ
64 4XJGUأؙٓحث涪ػة٦ٝ ًٔحز 4XJGUך堣腉ؿٕד⢪ִ 䪮遭涸頾⫈Ⰻג鵤幥דֹ 剅ֹ䳔ִ䖓ָ♧殢⸬卓֮ ꞿ劍涸鋔挿חְֶגًٔحز֮
65 4XJGUأؙٓحث涪ػة٦ٝ ًٔحز 傈ղך何㊣鸞䏝⡚♴ׇׁג׃תֲ رًٔحز 瀉劍涸זؽآطأ涸זًٔحز謬ְ 剅ֹ䳔ִתדָהחַֻ㣐㢌
66 չ4XJGUأؙٓحث涪ػة٦ٝպפך罋㻊 غحؙؒٝسךⵗ倜 ،فٔٔصُ٦،ٕ ة؎ىִׁؚ֮ٝלծדֹ〳腉䚍ָ֮
67 碛㕂ך倜耀爡ך⢽ J1IPOFהJ1BE،فٔ4XJGUד剅ֹ湫׃ 傀㶷،فٔך堣腉涪כ♧ⴖ׃זַ ؝٦سك٦أך㢌刿ך رؠ؎ٝ٥堣腉כ♧ⴖ㢌刿ז׃
68 碛㕂ך倜耀爡ך⢽ 䪮遭涸頾⫈כ穠卓涸חِ٦ؠ٦ח䕦갟♷ִ ٖؖء٦؝٦سכ儗ַַָٔٔ٦أ䖓כ⦓鸞ֻ ركٗحػ٦ث٦يך㡦孡鯪ֻ鋅זְ
69 傈穗ך㜥さ
70 傈穗ך㜥さ ➂剢ⴓך珩⫴ָ《朐屣ח֮何㊣הأؙٓحث涪⚛遤דֹ ׳ֲוغحؙؒٝسⵗ倜ך鑧ָ֮ 椚鍑֮♳ח䜋ת ➙䖓ך傈穗䬐ֲ،فٔזךדծꞿ劍涸鋔挿דך涪٥何㊣ָ䗳銲
71 傈穗ך㜥さ 4XJGU̞0CKFDUJWF$ػة٦ٝ䱰欽 رًٔحزך倯ָ㢳ְ✲ח孡ָאֻ غحؙؒٝسⵗ倜ך鑧 4XJGUأؙٓحث涪ػة٦ٝפה遤ֹ滠ֻ
72 4XJGUأؙٓحث涪ךח遤ֲ➙䖓ةأؙ ぐ歗ך涪䊨侧峤ְ⳿ׅ 傀㶷ךؕ؎ئٝחוך玎䏝䕦갟ָ⳿ךַ ְא갦תדח縧ֹ䳔ִָדֹךַ
73 תה
74 穠㽷וְְָך 4XJGU̞0CKFDUJWF$ػة٦ٝכ㼰׃ؗخ؎ ת׆荈ⴓך،فָٔ縧ַ朐屣然钠ׅ ،فٔך鋉垷ծ⡦➂剢然⥂דֹךַծ植،فٔך㸜㹀䚍ծך➭酅✲䞔
75 䪮遭涸ꨇ僒䏝 4XJGUأؙٓحث涪ػة٦ٝ חⴓָ֮
76 瀉劍涸זؽآطأדךًٔحز 4XJGU0CKFDUJWF$ⴽ㽿ػة٦ٝחⴓָ֮
77 ꞿ劍涸זؽآطأדךًٔحز 4XJGUأؙٓحث涪ػة٦ٝ חⴓָ֮
78 罋63- 傀㶷ך0CKFDUJWF$،فٔ؛٦ءّٝ4XJGUד剅ֹ䳔ִ鑧 IUUQUFDIMJGFDPPLQBEDPNFOUSZ "NFCB،فٔ0CKFDUJWF$ַ4XJGUפך獳遤 IUUQBNFCMPKQDBQJYFMFOUSZIUNM 4XJGUPOUIF0CK$TIJCVZBTXJGU IUUQTTQFBLFSEFDLDPNBJOBNFTXJGUPOUIFPCKDOVNCFSTIJCVZBTXJGU 'FFUJO#PUI8PSMET'SPN0CKFDUJWF$UP4XJGU IUUQTXXXZPVUVCFDPNXBUDI
WR@:7"1D
79 ֶ%