The most difficult part of Objective-C is its ARC rules, and mixing ARC and non-ARC code in the same project.