මෙයට එකතු කිරීම සඳහා, මට මෙම දෝෂය ද ඇති වූ නිසා. මෙම සියලු පිළිතුරු හරහා යාම බොහෝ විට UI සහ ස්ටෝරිබෝඩ් දේවල් සමඟ වැඩ කිරීමට අදාළ වන බව පෙනේ. මුල් පෝස්ටරය යූඅයි සමඟ වැඩ කරන බව මම දනිමි, නමුත් මෙම දෝෂය සඳහා විය හැකි හේතු සෙවීමේදී බොහෝ විට සියලුම ප්රශ්න මෙම ප්රශ්නයට යොමු වන්නේ අනෙක් ඒවා අනුපිටපත් ලෙස වසා තිබීම හෝ කතන්දර පුවරුවක ඇති දේවල් සම්බන්ධ කිරීම සම්බන්ධ ගැටළු ඇති නිසාය. මගේ විසඳුම එකතු කරන්න.
මම ස්විෆ්ට් 2 හි වෙබ් සේවාවක් කේතනය කිරීමේ කටයුතු කරමින් සිටියෙමි. අවශ්ය සියලු ප්රොක්සි වස්තු සහ මුරණ්ඩු මා විසින් ගොඩනගා තිබුණි. මම හරහා දැවැටුණු ලෙස ආපසු XML මම ගතිකව මගේ වස්තූන්, සියලු පැමිණි instantiating විය NSObject
හා භාවිතා setValue:forKey
ඔවුන් මත. setValue:forKey
දේපලක් සැකසීමට උත්සාහ කරන සෑම අවස්ථාවකම එය මෙම දෝෂය සමඟ පුපුරා ගියේය.
මා ගනුදෙනු කරන සෑම වර්ගයක් සඳහාම (උදා Bool?
. CShort?
, String?
) ස්විච් ප්රකාශයක් මා සතුව තිබූ අතර , එක් එක් එක්ස්එම්එල් නෝඩ් සඳහා මම ගොස් වස්තුවෙහි ඇති වර්ගය කුමක්දැයි පරීක්ෂා කර එම අගය එම වර්ගයට පරිවර්තනය කර එය සැකසීමට උත්සාහ කළෙමි setValue:forKey
.
අවසානයේදී මම මේ සියලු setValue:forKey
රේඛා අදහස් default
දැක්වීමට පටන් ගත් අතර මගේ ස්විච් ප්රකාශන නඩුව සාර්ථක වූ බව මට පෙනී String?
ගියේය.
වෛෂයික-සී වර්ගයට සෘජු සිතියම් ගත කිරීමක් හෝ නැතිනම් ඔබට විකල්ප ස්විෆ්ට් වර්ග භාවිතා කළ නොහැකි බව මම අවසාන වශයෙන් තේරුම් ගතිමි . සෘජු සිතියම්කරණයක් ඇති බැවින් මම සියලු වර්ග වෙනස් කිරීම අවසන් කළෙමි . මක්නිසාද යත් , එය භාවිතා කිරීම සහ ආරම්භ කිරීම මට සුදුසු ය . අනෙක් අයට එම සුඛෝපභෝගී බව නොතිබිය හැකිය.setValue:forKey
String?
NSNumber?
CShort?
NSNumber?
Bool?
Bool
false
කෙසේ වෙතත්, මෙතරම් බලාපොරොත්තුවෙන් සිටි හිසරදයක්, ඒ හා සමාන ගැටලුවක් ඇති වෙනත් කෙනෙකුට මෙම ප්රශ්නයට නැවත හරවා යවා, "මම UI හි කිසිවක් නොකරමි !!"
එබැවින් අවසාන වශයෙන් තවත් වරක් නැවත අවධාරණය කිරීම සඳහා යතුරු අගය කේතනය කිරීම විකල්ප සමඟ ක්රියා නොකරයි. පහතින් මම කොතැනක හෝ සොයා ගැනීම අවසන් කළ නමුත් මෙය කොතැනක පළ කළත් මට සමාව අයදින අතර මට මෙය හමු වූ ස්ථානය මතක් වුවහොත් එය මගේ ජීවිතය බේරා ගත්තේය.
ඔබට විකල්ප Int දේපලක KVC භාවිතා කළ නොහැක, මන්ද KVC යනු කොකෝවා / පරමාර්ථ-සී වන අතර, පරමාර්ථ-සී හට විකල්ප Int එකක් දැකිය නොහැක - එය පරමාර්ථ-සී සමඟ සම්බන්ධ නොවේ. Objective-C හට දැකිය හැක්කේ Objective-C ට සම්බන්ධ කර ඇති වර්ග පමණි:
NSObject වෙතින් උපුටා ගත් පන්ති වර්ග
@objc සමඟ නිරාවරණය වන පන්ති වර්ග
පාලම් සහිත වේගවත් ව්යුහයන්